let firstSet = CharacterSet(charactersIn: "-()")
let secondSet = CharacterSet.whitespaces
我需要将+48 (23) 899899 098
替换为+4823899899098
。
let output = "+48 (23) 899899 098".components(separatedBy: firstSet).joined(separator: "")
但在这里我需要使用两个CharacterSets。我如何将它们合并为一个?
答案 0 :(得分:4)
您可以使用union(_:)
。
let output = "+48 (23) 899899 098".components(separatedBy: firstSet.union(secondSet)).joined()
答案 1 :(得分:1)
或者使用正则表达式:
let output = "+48 (23) 899899 098"
let trimmedOutput = output.replacingOccurrences(of: "[^0-9+]", with: "", options: .regularExpression)
// -> +4823899899098"
答案 2 :(得分:0)
您可以使用功能进行手机格式化,因此可以通过应用
重复使用//removes "(", ")", "-", " " etc. and adds "+" for region code format
extension String {
func phoneToString() -> String {
var value = "+"
for character in self.characters {
if Int(String(character)) != nil {
value = value + String(character)
}
}
return value
}
}
let phoneWithoutSpaces = "+48 (23) 899899 098".phoneToString()