Swift 如何从其他角色集创建角色集?

Swift 如何从其他角色集创建角色集?,swift,Swift,我需要将+48 23 899899 098替换为+4823899899098 但这里我需要使用两个字符集。我怎样才能把它们合并成一个呢?你可以用它 let output = "+48 (23) 899899 098".components(separatedBy: firstSet).joined(separator: "") 你可以用它 let output = "+48 (23) 899899 098".components(separatedBy: firstSet).joined(se

我需要将+48 23 899899 098替换为+4823899899098

但这里我需要使用两个字符集。我怎样才能把它们合并成一个呢?

你可以用它

let output = "+48 (23) 899899 098".components(separatedBy: firstSet).joined(separator: "")
你可以用它

let output = "+48 (23) 899899 098".components(separatedBy: firstSet).joined(separator: "")

您可以使用该功能对手机进行格式化,这样就可以通过应用程序重复使用

let output = "+48 (23) 899899 098".components(separatedBy: firstSet.union(secondSet)).joined()

让phoneWithoutSpaces=+48 23 899899 098。phoneToString

您可以使用该函数设置手机格式,这样它就可以通过应用程序重复使用

let output = "+48 (23) 899899 098".components(separatedBy: firstSet.union(secondSet)).joined()
让phoneWithoutSpaces=+48 23 899899 098。phoneToString也可以使用正则表达式:

或者使用正则表达式:


奇怪的是,在IBMSwift沙箱中,union:调用似乎被破坏了:a.unionb导致a,即使b不是a的子集。其他人可以复制这种行为吗?@dfri奇怪的是,我刚刚尝试了IBM Swift Sandbox,也尝试了,但两者都是a.unionb的结果,与Xcode 8的结果相同。我发现,formUnion_z包含了相同的问题:CharacterSet Swift 2.2的方法,并添加了一条注释,提示这在Swift 3@Linux中仍然是一个问题,对于CharacterSet的union:方法也是如此。对于空字符串,可以使用.joinseparator@LeoDabus谢谢你的建议,编辑了答案。奇怪的是,在IBM Swift沙箱中,union:调用似乎中断了:a.unionb导致,即使b不是a的子集。其他人可以复制这种行为吗?@dfri奇怪的是,我刚刚尝试了IBM Swift Sandbox,也尝试了,但两者都是a.unionb的结果,与Xcode 8的结果相同。我发现,formUnion_z包含了相同的问题:CharacterSet Swift 2.2的方法,并添加了一条注释,提示这在Swift 3@Linux中仍然是一个问题,对于CharacterSet的union:方法也是如此。对于空字符串,可以使用.joinseparator@LeoDabus谢谢你的建议,编辑了答案。
let output = "+48 (23) 899899 098"
let trimmedOutput = output.replacingOccurrences(of: "[^0-9+]", with: "", options: .regularExpression)
// -> +4823899899098"