当前位置:  开发笔记 > 编程语言 > 正文

Python:检查字符串是否包含中文字符?

如何解决《Python:检查字符串是否包含中文字符?》经验,为你挑选了3个好方法。

这可能是一个字符串

ipath= "./data/NCDC/??/??/9705626661750dat.txt"

或这个

ipath = './data/NCDC/ciampino/6240476818161dat.txt'

我怎么知道第一个字符串包含中文

我发现这个答案可能有用: 使用Python和Regex查找字符串中的所有中文文本

但它没有成功:

import re
ipath= "./data/NCDC/??/??/9705626661750dat.txt"
re.findall(ur'[\u4e00-\u9fff]+', ipath) # => []

xecgr.. 14

匹配的字符串也应该是unicode

>>> import re
>>> ipath= u"./data/NCDC/??/??/9705626661750dat.txt"
>>> re.findall(r'[\u4e00-\u9fff]+', ipath)
[u'\u4e0a\u6d77', u'\u8679\u6865']


timgeb.. 6

如果你只是想知道你的字符串中是否有中文字符你不需要re.findall,请使用re.search匹配对象的事实是真实的.

>>> import re
>>> ipath= u'./data/NCDC/??/??/9705626661750dat.txt'
>>> ipath2 = u'./data/NCDC/ciampino/6240476818161dat.txt'
>>> for x in (ipath, ipath2):
...     if re.search(u'[\u4e00-\u9fff]', x):
...         print 'found chinese character in ' + x
... 
found chinese character in ./data/NCDC/??/??/9705626661750dat.txt


Rolf of Saxo.. 5

对于我们这些不关心的人re:

>>> ipath= u"./data/NCDC/??/??/6240476818161dat.txt"
>>> for i in range(len(ipath)):
...  if ipath[i] > u'\u4e00' and ipath[i] < u'\u9fff':
...   print ipath[i]
... 
?
?
?
?

编辑:对于完整的中文字符列表,此SO链接值得查看,因为范围U + 4E00..U + 9FFF未完成. Unicode中的汉字完整范围是什么?



1> xecgr..:

匹配的字符串也应该是unicode

>>> import re
>>> ipath= u"./data/NCDC/??/??/9705626661750dat.txt"
>>> re.findall(r'[\u4e00-\u9fff]+', ipath)
[u'\u4e0a\u6d77', u'\u8679\u6865']



2> timgeb..:

如果你只是想知道你的字符串中是否有中文字符你不需要re.findall,请使用re.search匹配对象的事实是真实的.

>>> import re
>>> ipath= u'./data/NCDC/??/??/9705626661750dat.txt'
>>> ipath2 = u'./data/NCDC/ciampino/6240476818161dat.txt'
>>> for x in (ipath, ipath2):
...     if re.search(u'[\u4e00-\u9fff]', x):
...         print 'found chinese character in ' + x
... 
found chinese character in ./data/NCDC/??/??/9705626661750dat.txt



3> Rolf of Saxo..:

对于我们这些不关心的人re:

>>> ipath= u"./data/NCDC/??/??/6240476818161dat.txt"
>>> for i in range(len(ipath)):
...  if ipath[i] > u'\u4e00' and ipath[i] < u'\u9fff':
...   print ipath[i]
... 
?
?
?
?

编辑:对于完整的中文字符列表,此SO链接值得查看,因为范围U + 4E00..U + 9FFF未完成. Unicode中的汉字完整范围是什么?

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有