Python中提取字符串中英文的代码分别怎么写
Admin 2022-07-20 群英技术资讯 401 次浏览
提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用
使用Python 的re模块,re模块提供了re.sub用于替换字符串中的匹配项。
re.sub(pattern, repl, string, count=0)
参数说明:
1.1 提取中文
可以这样想:我们可以通过将不是中文的字符替换为空不就可以了
例如
import re str = "重出江湖hello的地H方。。的,world" str = re.sub("[A-Za-z0-9\,\。]", "", str) print(str) 输出:神的孩子在唱歌
1.2 提取英文
import re str = "重123出江湖hello的地H方。。的,world" str = re.sub("[\u4e00-\u9fa5\0-9\,\。]", "", str) print(str) 输出:helloHworld
1.3 提取数字
import re str = "重123出江湖hello的地H方。。的,world" str = re.sub("[A-Za-z\u4e00-\u9fa5\,\。]", "", str) print(str) 输出:123
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
语法格式为:
findall(string[, pos[, endpos]])
参数:
扩展:正则中有match 和 search ,它们是是匹配一次,findall
匹配所有,具体了解可以到菜鸟教程查看
2.1 提取中文
2.2 提取英文
通俗写法
import string#提供a-z的小写字母 dd = "神的孩子hello在H唱歌,world" #准备英文字符 temp="" letters=string.ascii_lowercase#包含a-z的小写字母 for word in dd:#for循环取出单个词 if word.lower() in letters:#判断是否是英文 temp+=word#添加组成英文单词 print(temp) 输出:helloHworld
正则
#A-Za-z import re dd = "重出123江湖hello的地方的,world" result = ''.join(re.findall(r'[A-Za-z]', dd)) print(result) 输出:helloHworld
2.3 提取数字
#0-9注意这个数字前面不能\,要不然他连,都给算上 import re dd = "神123的孩子hello在唱H歌。。,world" result = ''.join(re.findall(r'[0-9]', dd)) print(result) 输出:123
compile函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供其他函数使用。
语法格式为:
re.compile(pattern[, flags])
参数:
pattern : 一个字符串形式的正则表达式
flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
3.1 同时匹配中英文数字去除其他字符
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python numpy.ndarray中如何将数据转为int型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Matplotlib是Python程序员可用的事实上的绘图库,虽然它比交互式绘图库在图形上更简单,但它仍然可以一个强大的工具,下面这篇文章主要给大家介绍了关于Python matplotlib绘图时使用鼠标滚轮放大/缩小图像的相关资料,需要的朋友可以参考下
这篇文章主要为大家详细介绍了如何利用Python语言实现邮件自动下载以及附件解析功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
内容介绍前言开发工具环境搭建主要代码前言不要在用手敲生成Excel数据报表了,用Python自动生成Excel数据报表!废话不多说让我们愉快地开始吧~开发工具Python版本:3.6.4相关模块:p
pytest有丰富的命令行选项,以满足不同的需要,下面这篇文章主要给大家介绍了关于Python教程之pytest命令行方式运行的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008