如果我在Objective-C中有一个名为text的字符串非常长,例如:
NSString *text = [NSString stringWithFormat:@"%@", _sometext];
如何扫描_sometext
并在每100个字符(字母)中为字符串添加换行符?
所以,如果我将_sometext
作为
那是十一月。虽然现在还不晚,但是我的天空是黑的 变成了Laundress Passage。父亲已经结束了这一天, 关掉商店的灯,关上百叶窗;但我愿意 他没有回到他在楼梯上的灯光下留下的黑暗 公寓。
我怎样才能使它在
后放置一个换行符那是十一月。虽然现在还不晚,但是我的天空是黑的 变成了Laundress Passage
之后
。父亲已经完成了这一天,关掉了商店的灯光 关上百叶窗;但是我好吗
(因为那些是100个字符)?
但不是停在这个词的中间,我可以跳过这个词并以前一个词结束。例如:如果句子以" 结束,那么我就"它会切断"会",它会停在此处而不是" 但是我"。
答案 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类参考。