Python一行代码过滤标点符号等特殊字符

很多时候我们需要过滤掉标点符号等特殊字符,网上虽然有一堆的方法,但是都没有找到一个非常满意的,有些过滤不了中文的标点符号,有些过滤不了英文的标点符号,有些过滤不全。

最后通过查看正则表达式文档,发现一个高效的办法,一行代码就能搞定:

def replace_all_blank(value):
    """
    去除value中的所有非字母内容,包括标点符号、空格、换行、下划线等
    :param value: 需要处理的内容
    :return: 返回处理后的内容
    """
    # \W 表示匹配非数字字母下划线
    result = re.sub('\W+', '', value).replace("_", '')
    print(result)
    return result

其中用到了Pythonre模块,re模块里面包含了所有的正则表达式的应用。代码里面有几个点:

  1. re.sub(参数1,参数2,参数3)方法,表示匹配到以后替换。其中参数1表示正则匹配的模式,参数2表示匹配到以后用参数2替换原内容,参数3表示要处理的字符串
  2. \W这个正则表示匹配非数字字母下划线,所以下划线是不会被替换的,上面可以看到用replace方法去掉了下划线

测试一下:

replace_all_blank("Powe, on;the 2333, 。哈哈 !!看看可以吗?一行代码就可以了!^_^")

输出结果:

Poweonthe2333哈哈看看可以吗一行代码就可以了

一行代码搞定!Perfect!

本文分享自微信公众号 - AntDream(gh_267204a81a96)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LNMP开发那些事

正则表达式的使用

preg_filter 执行正则表达式搜索和替换 preg_grep 返回匹配模式的数组条目 preg_last_error 返回最后一个正则...

8020
来自专栏博客同步

javascript正则表达式

正则表达式一直是一个令人头疼但却又是十分重要的一个东西。熟练的使用正则表达式可以让你的工作事半功倍。接下来,一起来看看正则表达式是什么吧!

8530
来自专栏keinYe

Python 正则表达式

在开始之前我们先要明白两个问题。 1、什么是正则表达式? 2、为什么要学习正则表达式? 人类在做一件事之前,总是会先问一下为什么要这么做『你可能说你没有这么想过...

8220
来自专栏数据处理与分析

正则在FME中的应用

能看到此文,我就粗暴的认为你已经对FME有了一定的了解。不了解没关系可以去FME博客进行学习,也可以去看FME十分钟进行相关的了解。下面我将结合...

10220
来自专栏腾讯技术工程官方号的专栏

代码之美,正则之道

? 导语 “如果罗列计算机软件领域的伟大发明,我相信绝对不会超过二十项,在这个名单当中,当然应该包括分组交换网络,Web,Lisp,哈希算法,UNIX,编译技...

9530
来自专栏call_me_R

谈谈正则表达式

基础语法的东西,记住下相关的英文就比较好理解了,比如: digit指的是数字[0-9],转换为正则关键字为\d,而其大写\D则表示非digit,即非[0-9]。

9420
来自专栏keinYe

Python 爬虫学习一

简单来说网络爬虫就是自动索引互联网上信息的一段程序,看起来像是一个搜索引擎「实际上网络爬虫就是搜索引擎的重要组成部分」,对于我们不做搜索引擎的人来说又为什么来学...

7920
来自专栏嘘、小点声

python网络爬虫(7)爬取静态数据详解

lxml用于解析解析网页HTML等源码,提取数据。一些参考:https://www.cnblogs.com/zhangxinqi/p/9210211.html

8630
来自专栏数据处理与分析

FME中,如何更优雅的使用正则表达式?

正则表达式是文本字符串处理的瑞士军刀。在FME中,常用来处理文本字符串的转换器主要为:StringSearcher 、StringReplacer。如图(1)所...

10420
来自专栏渔夫

Java-正则表达式学习总结

版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)

11820

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励