计算 NSString 字符长度
2019-03-06 本文已影响0人
Xie_Liying
NSString 字符长度,与 [str length] 是有区别的
假设一个字符串
NSString *str = @“计算 NSString 字符个数 ^_^ 😬😀😁😂 ^6^”;
字符个数是 29,但 [str length] 的结果是 33,因为一个表情占了两个字符(2个16位 unichar 表示的)
准确计算方法:
- (NSUInteger)lengthOfString:(NSString *)str
{
NSUInteger length = 0;
NSRange range;
for (int i=0; i < str.length; i+=range.length) {
range = [str rangeOfComposedCharacterSequenceAtIndex:i];
length += 1;
}
return length;
}