高手接招! 小应用 用python3判断一个字符串是不是中文组成的
由于业务需求,需要写一个小程序,来判断一个字符串中是不是纯中文字符 ( 一个字符串中不能包含符号,英文 )
比如
a = "你好"
这个就是一个纯中文
再比如
a = "</p>你好"
这个就不行~
那么需要如何优雅的来实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在python3中,str默认是unicode编码
用 ord() 函数判断单个字符的unicode编码是否大于
255
即可。一般来说,中文常用字的范围是:
[\u4e00-\u9fa5]
准确点判断中文字符,可以这样比较:
例子:
既然 @依云 提出了编码范围的问题,就再补充一些~
详细的unicode分区信息可以参考这里:中日韩统一表意文字
楼主是问 判断中文的
算法
;很简单,就是比较字符编码的大小,落在cjk
文字范围内,就是中文。出了
[\u4e00-\u9fa5]
范围的汉字,多数是生僻字、异体字;如果很在意的话,可以参照下表,多加几个判断条件即可。中文在unicode里的分区码段:
简单啦,你用正则匹配一下英文,标点,数字不就可以了么?
regex
只能保证是汉字,不能保证是中文,也可能是日文。