如何在字符串Objective-C上放置换行符

时间:2014-04-26 01:17:27

标签: ios objective-c string nsstring

如果我在Objective-C中有一个名为text的字符串非常长,例如:

NSString *text = [NSString stringWithFormat:@"%@", _sometext];

如何扫描_sometext并在每100个字符(字母)中为字符串添加换行符?

所以,如果我将_sometext作为

  

那是十一月。虽然现在还不晚,但是我的天空是黑的   变成了Laundress Passage。父亲已经结束了这一天,   关掉商店的灯,关上百叶窗;但我愿意   他没有回到他在楼梯上的灯光下留下的黑暗   公寓。

我怎样才能使它在

后放置一个换行符
  

那是十一月。虽然现在还不晚,但是我的天空是黑的   变成了Laundress Passage

之后

  

。父亲已经完成了这一天,关掉了商店的灯光   关上百叶窗;但是我好吗

(因为那些是100个字符)?

但不是停在这个词的中间,我可以跳过这个词并以前一个词结束。例如:如果句子以" 结束,那么我就"它会切断"会",它会停在此处而不是" 但是我"。

2 个答案:

答案 0 :(得分:1)

我能想到的最简单的解决方案是两个步骤。

第一步涉及将原始字符串分成100个字符串的数组。

第二步涉及使用换行符加入该字符串数组。

NSMutableArray *lines = [NSMutableArray array];

while ([originalString length] > 100) {
    [lines addObject:[originalString substringToIndex:100]];
    originalString = [originalString substringFromIndex:100];
}
[lines addObject: originalString];

NSString *reformattedString = [lines componentsJoinedByString:@"\n"];

答案 1 :(得分:1)

您可以编写使用方法rangeOfString:options:range:的代码  这样做。

您为字符串的前100个字符创建NSRange。然后,您将在该范围内向后搜索一个空格。找到空格后,您将从字符串的开头添加到输出字符串的空格,再加上换行符。然后,您将搜索范围设置为空格后字符串的后100个字符,然后再向后搜​​索空格。重复,直到您处理完整个字符串。

有关rangeOfString:options:range:方法的详细信息,请参阅NSString类参考。