如果您想Python字符串只保留汉字,可按照以下步骤进行操作:
- 导入re模块
在Python中,re是用于正则表达式操作的标准库之一,它在字符串中搜索和替换文字非常方便。
import re
- 使用正则表达式过滤字符串中的非汉字字符
正则表达式中的 [\u4e00-\u9fa5] 表示匹配汉字范围内的字符,其他非汉字字符使用正则表达式 [^\u4e00-\u9fa5] 匹配。"^"表示取反,即匹配除了汉字范围内的字符。
text = "这是一段包含123#非汉字字符的字符串"
result = re.sub("[^\u4e00-\u9fa5]", "", text)
print(result)
输出结果如下:
这是一段包含非汉字字符的字符串
- 将字符串中的汉字转换为列表
如果您需要将保留下来的汉字转换为列表,则可以用如下代码:
text = "这是一段包含123#非汉字字符的字符串"
result = re.findall("[\u4e00-\u9fa5]", text)
print(result)
输出结果如下:
['这', '是', '一', '段', '包', '含', '非', '汉', '字', '字符', '的', '字', '符', '串']
示例1:只保留汉字及标点符号
import re
text = "这是一段包含123#非汉字字符的字符串!"
result = re.sub("[^\u4e00-\u9fa5,。!?;:]", "", text)
print(result)
输出结果如下:
这是一段包含非汉字字符的字符串!
示例2:保留汉字并转换为列表
import re
text = "这是一段包含123#非汉字字符的字符串"
result = re.findall("[\u4e00-\u9fa5]", text)
print(result)
输出结果如下:
['这', '是', '一', '段', '包', '含', '非', '汉', '字', '字符', '的', '字', '符', '串']
希望以上解决方案可以帮到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 字符串只保留汉字的方法 - Python技术站