python 判断是否中文字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 判断是否中文字相关的知识,希望对你有一定的参考价值。

法一:

isinstance(s, str) 用来判断是否为一般字符串

isinstance(s, unicode) 用来判断是否为unicode



if type(str).__name__!="unicode":
str=unicode(str,"utf-8")
else:
pass

法二:

Python chardet 字符编码判断
使用 chardet 可以很方便的实现字符串/文件的编码检测。尤其是中文网页,有的页面使用GBK/GB2312,有的使用UTF8,如果你需要去爬一些页面,知道网页编码很重要的,虽然html页面有charset标签,但是有些时候是不对的。那么chardet就能帮我们大忙了。 

chardet实例
>>> import urllib
>>> rawdata = urllib.urlopen(\'http://www.google.cn/\').read()
>>> import chardet
>>> chardet.detect(rawdata)
\'confidence\': 0.98999999999999999, \'encoding\': \'GB2312\'
>>>chardet可以直接用detect函数来检测所给字符的编码。函数返回值为字典,有2个元数,一个是检测的可信度,另外一个就是检测到的编码。 

chardet 安装
下载chardet后,解压chardet压缩包,直接将chardet文件夹放在应用程序目录下,就可以使用import chardet开始使用chardet了。 

或者使用setup.py安装文件,将chardet拷贝到Python系统目录下,这样所有的python程序只要用import chardet就可以了。

参考技术A def Chinese(str):
    if str >= '\\u4e00' and str<= '\\u9fa5':
        return True
    else:
        return False
if __name__ == '__main__':
    print(Chinese('我爱中国'))
    print(Chinese('I love python'))
    print(Chinese('我爱python'))

True

False

True

str >= '\\u4e00' and str<= '\\u9fa5' 表示中文字符集 当字符串中有中文时就返回True

参考技术B #! /usr/bin/python
# -*- coding: utf-8 -*-
import re
zhPattern = re.compile(u'[\\u4e00-\\u9fa5]+')
contents=u'中'
match = zhPattern.search(contents)

if match:
    print u'是中文'
else:
    print u'不是中文'

以上是关于python 判断是否中文字的主要内容,如果未能解决你的问题,请参考以下文章

python 判断是不是中文字

Python 我输入一个词语,判断一段文字中有没有这个词语?

如何判断字符串里是不是有文字或者字母

delphi如何判断输入的是不是为中文

Python输入一行字符,分别统计出其中英文字母空格数字和其它字符的个数

Python输入一行字符,分别统计出其中英文字母空格数字和其它字符的个数