我想使用Swift 4从字符串中删除重复的标点符号。
例如“这是一个测试。...这是一个很好的测试!!!” 改为“这是一个测试。这是一个很好的测试!”
我找不到任何String / NSString函数来完成此任务。有什么想法吗?
答案 0 :(得分:0)
这可以通过替换正则表达式字符串来实现:
let string = "This is a test.... It is a good test!!!"
let fixed = string.replacingOccurrences(of: "([:punct:])\\1+", with: "$1",
options: .regularExpression)
print(fixed) // This is a test. It is a good test!
([:punct:])\1+
模式与任何标点符号匹配,后跟
一个或多个相同字符的事件。
对于每个匹配项,替换字符串中的$1
被替换为
第一个捕获组,在我们的例子中是标点符号。