首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向NSCharacterSet添加新行

向NSCharacterSet添加新行
EN

Stack Overflow用户
提问于 2016-01-27 04:17:01
回答 2查看 699关注 0票数 2

我想剥离包含所有新行和逗号的字符串(并将其放入一个数组中),因此我创建了以下内容:

代码语言:javascript
复制
let results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ",\n"))

但是,换行符仍然存在于我的数组中(逗号正在被删除)。向NSCharacterSet添加换行符的正确方法是什么?或者,如何在NSCharacterSet.newLineCharacterSet中添加逗号。

谢谢。

这里有一个简陋的解决方案,但仍在寻找更优雅的解决方案。

代码语言:javascript
复制
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: ","))
text = results.joinWithSeparator(" ")
results = text.componentsSeparatedByCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

(单行)解决方案:

代码语言:javascript
复制
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: " ,\u{000A}\u{000B}\u{000C}\u{000D}\u{0085}"))

解释如下。

EN

回答 2

Stack Overflow用户

发布于 2016-01-27 04:24:21

您可以通过首先使用NSMutableCharacterSet来合并两个NSCharacterSet,例如:

代码语言:javascript
复制
let charset = NSMutableCharacterSet(charactersInString: ",")
charset.formUnionWithCharacterSet(NSCharacterSet.newlineCharacterSet())

let results = text.componentsSeparatedByCharactersInSet(charset)
票数 5
EN

Stack Overflow用户

发布于 2016-01-27 04:53:43

所以MartinR引起了我的注意,换行符不仅仅是"\n“。

我查看了NSCharacterSet.newlineCharacterSet中使用的值,并将它们全部相加,给出了如下结果:

代码语言:javascript
复制
var results = text.componentsSeparatedByCharactersInSet(NSCharacterSet(charactersInString: " ,\u{000A}\u{000B}\u{000C}\u{000D}\u{0085}"))

这样就去掉了所有的空格、逗号和换行符。有趣的是,当我单独使用所有换行值来查看是否能找出在我的示例中使用的是哪一个换行值时,它们都不起作用。但是当一起使用时,它会剥离我的新线条。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35023100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档