iOS判断字符串中含不含有汉字

方法一:

- (BOOL)hasChinese:(NSString *)str {for(inti=0; i< [str length];i++){inta =[str characterAtIndex:i];if( a >0x4e00&& a <0x9fff)

{returnYES;

}

}returnNO;

}

方法二:

- (BOOL)isHasChineseWithStr:(NSString *)strFrom {for(inti=0; i

NSRange range=NSMakeRange(i,1);

NSString* strFromSubStr=[strFrom substringWithRange:range];constchar*cStringFromstr =[strFromSubStr UTF8String];if(strlen(cStringFromstr)==3) {//汉字returnYES;

}elseif(strlen(cStringFromstr)==1) {//字母}

}returnNO;

}

3.根据ASCII码

for(inti =0; i < text.Length; i++){if((int)text[i] >127) {returnYES;

}else{returnNO;

}

}

这两种方法第一种是根据汉字的编码位置判断的,几乎所有汉字的 UNICODE 编码范围是4e00-9fbb。在范围内的就返回yes,可是因为区间范围有多处,这里只判断一处最大的范围(几万字),其余几个范围少(一共才几百字)。第二种是根据字节数判断的。第三种是根据ASCII码判断的。在 ASCII码表中,英文的范围是0-127,而汉字则是大于127。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,390评论 30 472
  • 1.//获取字符串(或汉字)首字母+ (NSString *)firstCharacterWithString:(...
    艾希_可可阅读 3,526评论 0 0
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发 原文地址:http://www.jianshu.com/...
    Marray阅读 2,701评论 0 0
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 5,229评论 0 3
  • “改天请你吃饭” 你被这句话忽悠过吗? 或者拿这话忽悠过别人吗? 朋友间互相请吃饭是常事, 但是信任无价,承诺请勿...
    商业大脑方程式阅读 3,060评论 0 0

友情链接更多精彩内容