如何从NSString中删除所有页面格式

时间:2014-07-27 19:10:01

标签: nsstring nsstringencoding

我有一个NSMutableString *(theBigString),其中包含从在线文件加载的文本。我正在将BigString写入iPad上的本地文件,然后通过电子邮件将其作为附件发送。

[theBigString appendString:[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]];

尽管我尽最大努力使用以下代码行,但是当我打开电子邮件附件时,仍然存在多行文本而不是一行长文本,这正是我所期望的(并且需要我的应用程序才能工作)。 / p>

[theBigString stringByReplacingOccurrencesOfString:@"\\s+" withString:@" "];
[theBigString stringByReplacingOccurrencesOfString:@"\n" withString:@" "];
[theBigString stringByReplacingOccurrencesOfString:@"\r" withString:@" "];
[theBigString stringByReplacingOccurrencesOfString:@"\r\n" withString:@" "];

如果我打开文本文件并查看格式,它仍会显示几个新的段落符号。

除了“\ n”或“\ r”之外还有另一个新行类型字符我没有使用上面的代码剥离吗?

1 个答案:

答案 0 :(得分:1)

NSCharacterSet defines [NSCharacterSet newLineCharacterSet] as (U+000A–U+000D, U+0085)

如果您不太关心效率,您也可以将字符串分隔为换行符位置的数组,然后再将其与空字符串组合。

NSArray* stringComponents = [theBigString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
theBigString = [stringComponents componentsJoinedByString:@""];