我有一个NSString。我想尝试第一行的前40个字符。 截至目前,我已经做到了。
NSString *text = @"Somewhere, something incredible is waiting to be known";
text = [text substringToIndex:40];
NSLog(OUTPUT : %@, text);
OUTPUT : Somewhere, something incredible is wait
字符串waiting
未完成。我需要的实际输出是
REQ OUTPUT : Somewhere, something incredible is waiting
我需要前40个字符,但如果最后一个字不完整,则应该完成。 有人能告诉我怎么做吗? 提前谢谢。
答案 0 :(得分:1)
检查最后一个单词是否不完整的逻辑。
如果你可以扩展超过40个字符来完成你的字符串,那么你检查第40个字符后的第一个空格并修剪你的父字符串直到那个位置。
希望你能将它转换成Obj-C
答案 1 :(得分:0)
代码
NSString *text = @"Somewhere, something incredible is waiting to be known";
__block NSInteger targetIndex = text.length;
[text enumerateSubstringsInRange:NSMakeRange(0, text.length)
options:NSStringEnumerationByWords
usingBlock:
^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
NSInteger lastIndex = substringRange.location + substring.length;
if (lastIndex > 40) {
targetIndex = lastIndex;
*stop = true;
}
}];
text = [text substringToIndex:targetIndex];
NSLog(@"%@",text);
日志
某处,令人难以置信的是等待