在Python中查找包含中文的字符串可以通过正则表达式匹配Unicode中文编码范围或逐字符判断实现,核心方法包括re模块匹配、字符串遍历结合ord()函数,适用于文本清洗、数据过滤等场景。
-
正则表达式法
使用re
模块匹配中文字符的Unicode范围[\u4e00-\u9fa5]
,例如:pythonCopy Code
import re text = "Hello 你好!World 世界" chinese_words = re.findall(r'[\u4e00-\u9fa5]+', text) # 输出:['你好', '世界']
此方法高效简洁,适合批量提取中文片段。
-
逐字符判断法
通过遍历字符串,用ord()
检查每个字符是否落在中文Unicode范围内:pythonCopy Code
def find_chinese(text): return [char for char in text if '\u4e00' <= char <= '\u9fa5'] print(find_chinese("Python编程")) # 输出:['编', '程']
灵活性高,可自定义处理逻辑,但性能略低于正则。
-
第三方库加速(如jieba)
分词库jieba
可快速切分中英文混合文本,间接实现中文定位:pythonCopy Code
import jieba words = jieba.lcut("人工智能AI") # 输出:['人工', '智能', 'AI']
适合需要分词统计的场景,但依赖外部库。
总结:正则表达式适合快速匹配,逐字符法更灵活,而第三方库能结合分词需求。根据实际场景选择方法即可。