在Swift中除了破折号外,从字符串中删除标点符号字符。

3

我有一些代码可以去除所有的标点符号:

mysentence.components(separatedBy: .punctuationCharacters).joined().components(separatedBy: " ")

现在,我想为连字符“-”添加一个例外。换句话说,我想删除所有标点符号,但保留连字符。

在Java中,看起来可以使用replaceall和正则表达式来实现这一点(我承认我不知道如何使用)。那么在Swift 4中我该怎么做呢?


1
字符集是一组字符。从标点字符集派生一个没有破折号的集合非常简单。 - matt
是的,就是那样。 - matt
啊,我会试一下的。谢谢。 - Coltuxumab
1
可能有帮助的链接:https://stackoverflow.com/q/40702492/1187415(这个链接也意外地涉及到了标点符号集和破折号)。 - Martin R
太棒了!发现得真好。 - Coltuxumab
显示剩余2条评论
1个回答

5
也许你需要从CharacterSet中移除连字符-,例如:
var set = CharacterSet.punctuationCharacters
set.remove(charactersIn: "-")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接