计算 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;
}
上一篇下一篇

猜你喜欢

热点阅读