我想删除所有新行和逗号的字符串(并将其放入数组中),所以我创建了这个:
let results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ",\n"))
但是,我的数组中仍然存在换行符(正在删除逗号)。将新行添加到NSCharacterSet的正确方法是什么?或者,如何将逗号添加到NSCharacterSet.newLineCharacterSet。
感谢。
这是一个很好的解决方案,但仍然在寻找一个更优雅的解决方案。
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ","))
text = results.joinWithSeparator(" ")
results = text.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
(单行)解决方案:
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: " ,\u{000A}\u{000B}\u{000C}\u{000D}\u{0085}"))
说明如下。
答案 0 :(得分:5)
您可以先使用NSMutableCharacterSet统一两个NSCharacterSet,例如:
let charset = NSMutableCharacterSet(charactersInString: ",")
charset.formUnionWithCharacterSet(NSCharacterSet.newlineCharacterSet())
let results = text.componentsSeparatedByCharactersInSet(charset)
答案 1 :(得分:0)
所以MartinR引起了我的注意,有更多的换行而不仅仅是“\ n”。
我查看了NSCharacterSet.newlineCharacterSet中使用的值并将它们全部添加,给了我:
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: " ,\u{000A}\u{000B}\u{000C}\u{000D}\u{0085}"))
这摆脱了所有的空白,逗号和新行。有趣的是 - 当我分别使用所有换行值时,看看我是否可以找出在我的情况下使用的换行符,但没有一个有效。但是当它们一起使用时,它会删除我的新行。