本文主要是介绍ios中得到中英文混合字符串长度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//得到中英文混合字符串长度 方法1(按照英文字符个数统计)
- (int)convertToInt:(NSString*)strtemp
{int strlength = 0;char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {if (*p) {p++;strlength++;}else {p++;}}return strlength;
}
//得到中英文混合字符串长度 方法2(按照英文字符个数统计)
- (int)getToInt:(NSString*)strtemp
{NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);NSData* da = [strtemp dataUsingEncoding:enc];return [da length];
}
//貌似sina微博的字数统计 方法3(按照中文字符个数统计)
+ (int)sinaCountWord:(NSString *)s
{int i, n = [s length], l = 0, a = 0, b = 0;unichar c;for (i = 0; i < n; i++) {c = [s characterAtIndex:i];if (isblank(c)) {b++;}else if(isascii(c)){a++;}else {l++;}}if (a == 0 && l == 0) {return 0;}else {return l + (int)ceilf((float)(a + b)/2.0);}
}
这篇关于ios中得到中英文混合字符串长度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!