我有一个html字符串,我希望一次允许1个换行符。我试图用“\ n”替换所有“\ n \ n”。但最后我最终得到了两次换行。
是否可以打印字符串的内容以查看内容是什么,因此在输出窗口中显示“\ n”而不是转到新行。
while ((range = [html rangeOfString:@"\n\n"]).length)
{
[html replaceCharactersInRange:range withString:@"\n"];
}
编辑: html已转换为纯文本(因此字符串中没有BR标记)
答案 0 :(得分:3)
如果您想要压缩为一个不确定数量的换行符,则可以使用NSRegularExpression。类似的东西:
NSRegularExpression *squeezeNewlines = [NSRegularExpression regularExpressionWithPattern:@"\n+" options:0 error:nil];
[squeezeNewlines replaceMatchesInString:html options:0 range:NSMakeRange(0, [html length]) withTemplate:@"\n"];
(写在我的浏览器中,没有经过测试,因为我手边没有最近的Mac,所以如果我搞砸了,请告诉我。)
答案 1 :(得分:1)
为什么不使用:
- (NSUInteger)replaceOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)opts range:(NSRange)searchRange