利用Python将文本中的中英文分离方法

yipeiwu_com6年前Python基础

在进行文本分析、提取关键词时,新闻评论等文本通常是中英文及其他语言的混杂,若不加处理直接分析,结果往往差强人意。

下面对中英文文本进行分离做一下总结:

1、超短文本,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.

2、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

中文的编码范围是:\u4e00-\u9fa5,相应的[^\u4e00-\u9fa5]可匹配非中文。

匹配英文时,需要将空格[\u0020]加入,不然单词之间没空格了。

以上这篇利用Python将文本中的中英文分离方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Ubuntu下Python2与Python3的共存问题

Linux系统一般自带Python,有时候又自己下载了Python,因此有可能Python2和Python3同时存在。那么当我们在Terminal键入python的时候,会调出哪个Pyt...

在Python中使用Mako模版库的简单教程

Mako是一个高性能的Python模板库,它的语法和API借鉴了很多其他的模板库,如Django、Jinja2等等。 基本用法 创建模板并渲染它的最基本的方法是使用 Template 类...

python 迭代器和iter()函数详解及实例

python中迭代器和iter()函数 迭代器为类序列对象提供了一个类序列的接口。python的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象。迭代器用起...

pyqt5实现登录界面的模板

本文实例为大家分享了pyqt5登录界面的实现模板,供大家参考,具体内容如下 说明 本例,展示了通过登录界面打开主界面的实现方式。 其中,登录的账号与密码判断都比较简单,请大家根据自己需...

mysql 之通过配置文件链接数据库

mysql 之通过配置文件链接数据库 配置文件jdbc.properties ##MySQL driver=com.mysql.jdbc.Driver url=jdbc\:mysql...