原标题:「每日一练」巧用Python对字符串进行筛选
无论是哪一门语言,都会经常用到正则表达式,无论是网络爬虫,还是数据处理等都经常会用到数据匹配,那么你会在Python中用正则表达式对字符串进行筛选吗?
往下看,就是这么简单!
案例
a = "not 404 found 5.6 张三 99 深圳",每个词中间是空格,用正则过滤掉英文和数字,最终输出"张三 深圳"
先上代码~
运行效果
题目详述
第一行:
import re
在Python中使用正则表达式,需要引用一下正则,即上边的import方法
第二行:
a = "not 404 found 5.6 张三 99 深圳"
将需要处理的字符串赋值给变量a,方便以后的调用
第三行:
list = a.split(' ')
在这里我们用到了字符串的分割方法split,后边括号里边展示的是分隔符,即用什么进行分割,这里用的是空格,分割完之后变成一个列表,将它赋值给列表变量list
第四行:
res = re.findall('\d+\.?\d*|[a-zA-Z]+',a)
这里我们用到了正则的findall方法,意思是在字符串a里边去寻找所有符合正则方法的值,将它存储到一个列表里边,赋值给res
正则详解:'\d+\.?\d*|[a-zA-Z]+'
\d+\.?\d*这个代表的是匹配所有的整数和小数
[a-zA-Z]+这个代表匹配所有的英文字母
中间的 | 表示的是“或者”的意思
第五行:
for i in res:
if i in list:
list.remove(i)
遍历res里边的所有值,并且将它赋值给变量 i ,如果 i 在列表 list 里边,则说明 list 里边跟 i 一样的值不满足筛选条件,要把它去除,这里我们用到了列表的remove方法,去除所有不满足条件的值
第六行:
new_str = ' '.join(list)
将满足所有条件的新列表 list 里边的所有值,用空格分开,组成一个新的字符串,并且将它赋值给变量 new_str
第七行:
print(new_str)
打印新变量 new_str
进阶:
轻松的就实现想要的目的
是不是很便捷呢
结束语
总体来说思路只要有了,以后遇到类似的问题就可以解决了,是不是发现原来Python可以这么神奇!
———— e n d ————
觉得文章不错的,欢迎点在看和转发返回搜狐,查看更多
责任编辑: