iOS判斷一個字符是不是中文字符,計算一段字符串的長度。
主要是將oc字符串轉成c的字符串(char*),然后判斷c的字符串的長度,因為中文字符占得長度是英文字符的兩倍。//判斷一個字符書不是中文。
-(BOOL)isChinese:(NSString*)c{
int strlength = 0; char* p = (char*)[ccStringUsingEncoding:NSUnicodeStringEncoding]; for (int i=0 ; i<[c lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) { if (*p) { p++; strlength++; } else { p++; } } return ((strlength/2)==1)?YES:NO;
}
檢驗:
NSString* str = @"我"; NSLog(@"%d",[selfisChinese:str]); NSString* str2 = @"w"; NSLog(@"%d",[selfisChinese:str2]);
//計算一段字符串的長度,兩個英文字符占一個長度。
(int)countTheStrLength:(NSString*)strtemp {
int strlength = 0;
char p = (char)[strtempcStringUsingEncoding:NSUnicodeStringEncoding];
for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
if (*p) { p++; strlength++; } else { p++; }
}
return (strlength+1)/2;
}</pre>
本文由用戶 gww3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!