如何获得NSString的前三个字符?

我怎样才能返回一个NSString的前三个字符?

mystr=[mystr substringToIndex:3]; 

确保你的string至less有3个字符,它会使程序崩溃。

这里有一些其他的链接来检查NSsting操作…

链接1

LINK2

苹果链接

首先,你必须确保string至less包含3个字符:

 NSString *fullString = /* obtain from somewhere */; NSString *prefix = nil; if ([fullString length] >= 3) prefix = [fullString substringToIndex:3]; else prefix = fullString; 

如果您提供的索引超出了string的末尾, substringToIndex:将引发exception。

正确的方法是:

 text = [text substringToIndex:NSMaxRange([text rangeOfComposedCharacterSequenceAtIndex:2])]; 

NSString的substringToIndex是按代码单位进行索引,表情符号是两个代码单位。

请确保自己检查索引。