iOS判断一个字符是不是中文字符,计算一段字符串的长度。

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
主要是将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;

}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php快速得到大数组里的随机小数组

下一篇:Android之PullToRefresh的使用方法