方式一:Regular Expressions
a =u"汉字"
re.search(ur"[\u4e00-\u9fa5]+",a)
方式二:Function
def is_chinese(uchar):
if uchar >= u'\u4e00' and uchar<=u'\u9fa5':
return True
else:
return False
出于性能考虑,第一种方法不是很可取,但是绝对能够精确比配,千万不要忘记‘ur’,少了它,字母也会被比配到,而第二种的一个小缺点是如果传入的uchar以字母或者数字开头,而且中间又空格,会直接返回False,所以,我们必须遍历这个字符串,设置一个boolean型的变量来表示是否为汉字,代码如下。
当然了,为了测试二者的效率,我们可以导入timit模块,这个就以后再谈了。
a =u"汉字"
re.search(ur"[\u4e00-\u9fa5]+",a)
方式二:Function
def is_chinese(uchar):
if uchar >= u'\u4e00' and uchar<=u'\u9fa5':
return True
else:
return False
出于性能考虑,第一种方法不是很可取,但是绝对能够精确比配,千万不要忘记‘ur’,少了它,字母也会被比配到,而第二种的一个小缺点是如果传入的uchar以字母或者数字开头,而且中间又空格,会直接返回False,所以,我们必须遍历这个字符串,设置一个boolean型的变量来表示是否为汉字,代码如下。
def is_chinese(uchar):
if uchar >= u'\u4e00' and uchar<=u'\u9fa5':
return True
else:
return False
def main():
li = u'global hawk 1.0l 手动功夫版'
bool = False
for i in li:
if is_chinese(i):
bool = True
break
if bool:
print 'Chinese'
else:
print 'No Chinese'
if __name__ == "__main__":
main()
当然了,为了测试二者的效率,我们可以导入timit模块,这个就以后再谈了。