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

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

本文介绍在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。