【发布时间】:2011-03-14 04:07:08
【问题描述】:
如何返回 NSString 的前三个字符?
【问题讨论】:
标签: objective-c cocoa
如何返回 NSString 的前三个字符?
【问题讨论】:
标签: objective-c cocoa
mystr=[mystr substringToIndex:3];
确保你的字符串至少有 3 ch.. o.e.它会使应用程序崩溃。
这里是检查 NSsting 操作的其他一些链接...
【讨论】:
首先,您必须确保字符串至少包含 3 个字符:
NSString *fullString = /* obtain from somewhere */;
NSString *prefix = nil;
if ([fullString length] >= 3)
prefix = [fullString substringToIndex:3];
else
prefix = fullString;
如果您提供的索引超出字符串末尾,substringToIndex: 将抛出异常。
【讨论】:
正确的做法是:
text = [text substringToIndex:NSMaxRange([text rangeOfComposedCharacterSequenceAtIndex:2])];
NSString 的 substringToIndex 是按代码单元索引的,emoji 需要两个代码单元。
确保自己检查索引。
【讨论】: