利用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设计】。

相关文章

python一键去抖音视频水印工具

python一键去抖音视频水印工具

无水印视频下载 方法一: 无水印视频下载很简单,有一个通用的方法,就是使用去水印平台即可。 我使用的去水印平台是:http://douyin.iiilab.com/ 在输入框中输入视频链...

对numpy 数组和矩阵的乘法的进一步理解

对numpy 数组和矩阵的乘法的进一步理解

1、当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘...

Pytorch实现的手写数字mnist识别功能完整示例

本文实例讲述了Pytorch实现的手写数字mnist识别功能。分享给大家供大家参考,具体如下: import torch import torchvision as tv impor...

解决Django migrate不能发现app.models的表问题

有时候运行Django的migrate命令不能创建INSTALLED_APPS中的app中的models.py的数据库表, 这时可以先运行: python manage.py mak...

Python的Django框架中从url中捕捉文本的方法

每个被捕获的参数将被作为纯Python字符串来发送,而不管正则表达式中的格式。 举个例子,在这行URLConf中: (r'^articles/(?P<year>\...