我正在从 PDF 读取文本到 NSString。我使用下面的代码替换所有空格
NSString *pdfString = convertPDF(path);
pdfString=[pdfString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
pdfString=[pdfString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
pdfString=[pdfString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
但这也消除了段落空格和多行。我只想替换一次出现的\n 或\r 并保留段落空格或多个制表符和下一行。
最佳答案
有两种方法:
您可以使用
-rangeOfCharactersFromSet:options:range:
获取字符串的范围。这种方法的明珠是减少每个找到的匹配项的搜索范围。这样做您可以简单地将找到的范围与搜索范围进行比较。如果找到的范围在最开始,则它是两倍(或三倍) \r
。使用
-componentsSeparatedByCharactersFromSet:
( NSString
) 返回一个用 \r
分隔的字符串数组。此数组中的空字符串是双倍(或三倍) \r
。只需用 \r
替换它们,然后用空格重新连接组件。关于ios - 仅替换 NSString 中出现的\n 或\r,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30077450/