Swift中移除电话号码中的符号与空格的实现方法
移除电话号码中的指定特殊字符
你可以用两种简洁的方式一次性处理所有需要移除的字符:
方法一:正则表达式替换
直接用正则表达式匹配所有要移除的字符(空格、+、(、)、-),一次性替换为空:
let phone: String = "+1 (512) 477-2900" // 匹配空格、+、(、)、- 这些字符,替换为空 let formattedPhone = phone.replacingOccurrences(of: "[+\\s()-]", with: "", options: .regularExpression) // 最终结果:"15124772900"
正则表达式里的[+\\s()-]表示匹配方括号内的任意一个字符:
+:匹配加号\\s:匹配任意空白字符(包括空格)(:匹配左括号):匹配右括号-:匹配减号
方法二:字符集合过滤
创建一个包含所有要移除字符的集合,然后过滤字符串,只保留不在集合中的字符:
let phone: String = "+1 (512) 477-2900" // 定义要移除的字符集合 let charactersToRemove: CharacterSet = ["+", "(", ")", "-", " "] // 按指定字符拆分字符串后重新拼接 let formattedPhone = phone.components(separatedBy: charactersToRemove).joined() // 最终结果:"15124772900"
这种方法通过components(separatedBy:)把字符串按指定字符拆分成数组,再用joined()拼接成无特殊字符的完整字符串。
内容的提问来源于stack exchange,提问作者john doe
相关产品推荐
相关产品推荐

