从NSString删除换行符

2020/12/05 08:32 · ios ·  · 0评论

我有一个NSString这样的:

Hello 
World
of
Twitter
Lets See this
>

我想将其转换为:

Twitter的Hello World让我们看这个>

我怎样才能做到这一点?我在iPhone上使用Objective-C。

将字符串拆分为多个组件,然后按空格将其连接:

NSString *newString = [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedByString:@" "];

将字符串拆分成多个组件然后重新将它们重新加入是执行此操作的漫长方法。我也使用保罗提到的相同方法。您可以替换任何出现的字符串。除了Paul所说的以外,您还可以使用以下空格替换换行符:

myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@" "];

我正在使用

[...]
myString = [myString stringByReplacingOccurrencesOfString:@"\n\n" withString:@"\n"];
[...]

/保罗

我的情况下还包含\r,包括\n[NSCharacterSet newlineCharacterSet]不工作,而是通过使用

htmlContent = [htmlContent stringByReplacingOccurrencesOfString:@"[\r\n]"
                                                     withString:@""
                                                        options:NSRegularExpressionSearch
                                                          range:NSMakeRange(0, htmlContent.length)];

解决了我的问题。

顺便说一句,\\s将删除所有空白,这是不希望的。

在此处提供@hallski的答案的Swift 3.0版本:

self.content = self.content.components(separatedBy: CharacterSet.newlines).joined(separator: " ")

在此处提供@Kjuly的答案的Swift 3.0版本(请注意,它仅用一个\ n替换了许多新行。如果有人可以向我指出更好的方式,我宁愿不使用正则表达式):

self.content = self.content.replacingOccurrences(of: "[\r\\n]+", with: "\n", options: .regularExpression, range: Range(uncheckedBounds: (lower: self.content.startIndex, upper: self.content.endIndex)));
本文地址:http://ios.askforanswer.com/congnsstringshanchuhuanxingfu.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!