说我有一个字符串:
NSString * str = @“abc一二三”;
包含英文和中文,如果我使用[str length]我得到的 结果6.我想要的结果是1 + 1 + 1 + 2 + 2 + 2 = 9,一个汉字 等于2英文字母。
希望有人可以帮助我,谢谢^ _ ^
答案 0 :(得分:0)
嗯,这很乏味,但你可以创建自己的String Length方法。一个带有switch语句的方法,它单独检查字符并相应地分配整数值,然后返回总计。例如:
- (NSInteger)specialStringLength:(NSString *)theString {
int realLength=0;
for(int x=0;x<[theString length];x++)
{
char thisOne = [theString characterAtIndex:x];
switch(thisOne) {
case 'a':
realLength++;
break;
// and so on...
case '三':
realLength+=2;
break;
// and so on...
}
}
return realLength;
}
答案 1 :(得分:0)
也许你可以将NSString转换为NSData,并使用NSData的长度。