Python实现中英文文本分离的两种实用方法

键盘旁的猫
键盘旁的猫
发布时间:2026-10-13 | 3人浏览过
原创

本文介绍在Python中分离中英文文本的两种常用方法。针对超短文本,可通过ASCII码值直接过滤;对于复杂混合文本,利用Unicode编码范围\u4e00-\u9fa5及正则表达式匹配英文字符与空格,实现精准提取。

在进行文本分析或提取关键词时,新闻评论等原始文本往往包含中文、英文及其他语言字符的混合内容。如果不对这些混杂文本进行预处理而直接进行分析,最终得到的结果通常难以令人满意。

针对中英文文本分离的需求,以下总结了两种常见的处理策略:

第一种方法适用于超短文本,主要通过ASCII编码进行识别与过滤。

s = "China's Legend Holdings will split its several business arms to go public on stock markets, the group's president Zhu Linan said on Tuesday.该集团总裁朱利安周二表示,中国联想控股将分拆其多个业务部门在股市上市。"
result = "".join(i for i in s if ord(i) < 256)
print(result)
out:
China's Legend Holdings will split its several business arms to go public on stock markets, the group's president Zhu Linan said on Tuesday.

第二种方法基于Unicode编码进行精确识别。

import re
s = "China's Legend Holdings will split its several business arms to go public on stock markets, the group's president Zhu Linan said on Tuesday.该集团总裁朱利安周二表示,中国联想控股将分拆其多个业务部门在股市上市。"
uncn = re.compile(r'[\u0061-\u007a,\u0020]')
en = "".join(uncn.findall(s.lower()))
print(en)
out:
chinas legend holdings will split its several business arms to go public on stock markets, the groups president zhu linan said on tuesday

中文字符在Unicode中的编码范围大致为\u4e00至\u9fa5,因此可以使用正则表达式[^\u4e00-\u9fa5]来匹配并提取非中文字符。

在匹配英文内容时,必须将空格字符[\u0020]纳入匹配规则,否则会导致英文单词之间失去必要的分隔。

以上介绍了利用Python实现中英文文本分离的具体方法,希望能为相关技术工作提供参考。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表