判断字符串中是否包含中文字符

参考:http://www.cocoachina.com/bbs/read.php?tid=59431

判断字符串中是否包含中文字符又两种方法:

第一种:


NSString *str = @"I'm am 苹果。...";
for (int i = 0; i < [str length]; i++) {
int a = [str characterAtIndex:i];
if(a > 0x4e00 && a < 0x9fff)
NSLog(@"汉字");
}
这种方法只能判断中文文字,不能判断一些特殊符号比如中文状态下的句号“。”等。下面这种方法可以检测到所有的中文字符,包括中文状态下的特殊字符

第二种方法:UTF8编码:汉字占3个字节,英文字符占1个字节

NSString *text = @"i'm a 苹果。...";
         int length = [text length];
          
       for (int i=0; i<length; ++i)
     {
        NSRange range = NSMakeRange(i, 1);
        NSString *subString = [text substringWithRange:range];
        const char    *cString = [subString UTF8String];
        if (strlen(cString) == 3)
        {
            NSLog(@"汉字:%s", cString);
        }
     } 

你可能感兴趣的:(判断字符串中是否包含中文字符)