H5W3
当前位置:H5W3 > 其他技术问题 > 正文

如何在一个字符串中只匹配汉字呢?

str=”qwew(()))))里面没有文件就把列名添加进去”
比如这个
我只想拿出汉字部分

>>> str="qwew里面没有文件就把列名添加进去"
>>> str=re.match(r'\u4e00-\u9fa5',str)
>>> str
>>> str=

我这样写打印出来是空的

回答:

match从字符串头开始匹配,用search或者findall

# -*- coding:utf-8 -*-

import re

str=u"qwew里面没有文件就把列名添加进去"
str=re.search(u"[\u4e00-\u9fa5]+",str)
print (str.group())

回答:

>>> "qwew里面没有文件就把列名添加进去".encode('utf-8')
b'qwew\xe9\x87\x8c\xe9\x9d\xa2\xe6\xb2\xa1\xe6\x9c\x89\xe6\x96\x87\xe4\xbb\xb6\xe5\xb0\xb1\xe6\x8a\x8a\xe5\x88\x97\xe5\x90\x8d\xe6\xb7\xbb\xe5\x8a\xa0\xe8\xbf\x9b\xe5\x8e\xbb'

# 编码之后,Python的英文字符还是英文字符,汉字就变成了十六进制。这样就可以分辨和过滤了。

本文地址:H5W3 » 如何在一个字符串中只匹配汉字呢?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址