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


Posted in Python onAugust 12, 2019

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

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

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

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

\W

测试一下:

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

输出结果:

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

一行代码搞定!Perfect!

最后推荐大家官网 re 模块的正则表达式文档地址:

https://docs.python.org/zh-cn/3.6/library/re.html

知识点扩展:

python过滤中英文标点符号

import re
# 过滤不了\\ \ 中文()还有————
r1 = u'[a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘'![\\]^_`{|}~]+'#用户也可以在此进行自定义过滤字符
# 者中规则也过滤不完全
r2 = "[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+"
# \\\可以过滤掉反向单杠和双杠,/可以过滤掉正向单杠和双杠,第一个中括号里放的是英文符号,第二个中括号里放的是中文符号,第二个中括号前不能少|,否则过滤不完全
r3 = "[.!//_,$&%^*()<>+\"'?@#-|:~{}]+|[——!\\\\,。=?、:“”‘'《》【】¥……()]+"
# 去掉括号和括号内的所有内容
r4 = "\\【.*?】+|\\《.*?》+|\\#.*?#+|[.!/_,$&%^*()<>+""'?@|:~{}#]+|[——!\\\,。=?、:“”‘'¥……()《》【】]"
text = "\崔芸,\\我爱=+你!【我//""们】~————结/婚'吧::!这.!!_#??()个‘'“”¥$主|意()不错......!"
print(re.sub(r1, , '', text))

总结

以上所述是小编给大家介绍的一行代码Python过滤标点符号等特殊字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
pyqt和pyside开发图形化界面
Jan 22 Python
python基础教程之lambda表达式使用方法
Feb 12 Python
wxPython窗口中文乱码解决方法
Oct 11 Python
对Python新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
Dec 18 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
基于python实现坦克大战游戏
Oct 27 Python
python和C++共享内存传输图像的示例
Oct 27 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 #Python
Django认证系统实现的web页面实现代码
Aug 12 #Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 #Python
django-filter和普通查询的例子
Aug 12 #Python
利用python实现汉字转拼音的2种方法
Aug 12 #Python
python面向对象 反射原理解析
Aug 12 #Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 #Python
You might like
用PHP动态创建Flash动画
2006/10/09 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
python数值基础知识浅析
2019/11/19 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
如何使用python传入不确定个数参数
2020/02/18 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
2014年银行年终工作总结
2014/12/19 职场文书
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
Python 绘制多因子柱状图
2022/05/11 Python
vue router 动态路由清除方式
2022/05/25 Vue.js