| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
gww3
9年前发布

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;    }