Filter non-digits from string

后端 未结 12 1116
日久生厌
日久生厌 2020-12-01 11:36

Using only swift code I cant figure out how to take \"(555) 555-5555\" and return only the numeric values and get \"5555555555\". I need to remove all the parentheses, whit

12条回答
  •  春和景丽
    2020-12-01 12:22

    In Swift 4 the solution is more nice:

    import Foundation
    
    let sourceText = "+5 (555) 555-5555"
    
    let allowedCharset = CharacterSet
        .decimalDigits
        .union(CharacterSet(charactersIn: "+"))
    
    let filteredText = String(sourceText.unicodeScalars.filter(allowedCharset.contains))
    
    print(filteredText) // +55555555555
    

提交回复
热议问题