python删除字符串中指定字符的方法


Posted in Python onAugust 13, 2018

最近开始学机器学习,学习分析垃圾邮件,其中有一部分是要求去除一段字符中的标点符号,查了一下,网上的大多很复杂例如这样

import re 
temp = "司法局让我和户 1 5. 8 0. !!?? 客户维护户外" 
temp = temp.decode("utf8") 
string = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+".decode("utf8"), "".decode("utf8"),temp) 
print string

或者是这样的

'''引入string模块'''
import string
'''使用标点符号常量'''
string.punctuation
text = "*/@》--【】--12()测试*()"

'''去除字符串中所有的字符,可增加自定义字符'''
def strclear(text,newsign=''):
  import string # 引入string模块
  signtext = string.punctuation + newsign # 引入英文符号常量,可附加自定义字符,默认为空
  signrepl = '@'*len(signtext) # 引入符号列表长度的替换字符
  signtable = str.maketrans(signtext,signrepl) # 生成替换字符表
  return text.translate(signtable).replace('@','') # 最后将替换字符替换为空即可

strclear(text,'》【】')

我一开始用的后面的这个,着实是有点暴力,于是找了查了一下原文档,发现python3中完全有更好的方法去实现这样的功能(似乎是新更新的?不太清楚,我的是python最新版本3.6.6)

和上面的方法一样是利用的是str的translate()和maketrans()

translate()自然不用说这里的重点是maketrans(),先放上官方的文档

static str.maketrans(x[, y[, z]])
This static method returns a translation table usable for str.translate().

If there is only one argument, 
it must be a dictionary mapping Unicode ordinals (integers) or characters (strings of length 1) to Unicode ordinals, 
strings (of arbitrary lengths) or None. Character keys will then be converted to ordinals.

If there are two arguments, 
they must be strings of equal length, 
and in the resulting dictionary, 
each character in x will be mapped to the character at the same position in y. 
If there is a third argument, it must be a string, whose characters will be mapped to None in the result.

可以看出maketrans是可以放三个参数的(以前一直以为只有两个....)

前两个参数是需要一一对应进行替换,需要字符串长度相同

第三个参数是直接替换为None

这里就直接上代码了

import string

i = 'Hello, how are you!'

i.translate(str.maketrans('', '', string.punctuation))
>>>'Hello how are you'

 i = 'hello world i am li'
 i.translate(str.maketrans('','','l'))

>>>'heo word i am i'

这里的string.punctuation 是python内置的标点符号的合集

既然看到了就总结下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
浅析Python中的多条件排序实现
Jun 07 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
把pandas转换int型为str型的方法
Jan 29 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
Python递归函数特点及原理解析
Mar 04 Python
python实现一个猜拳游戏
Apr 05 Python
python实现与redis交互操作详解
Apr 21 Python
python实现图片素描效果
Sep 26 Python
Python调用SMTP服务自动发送Email的实现步骤
Feb 07 Python
Django contenttypes 框架详解(小结)
Aug 13 #Python
Python中的Numpy矩阵操作
Aug 12 #Python
浅谈python之新式类
Aug 12 #Python
详解Django中类视图使用装饰器的方式
Aug 12 #Python
python中pip的安装与使用教程
Aug 10 #Python
python3判断url链接是否为404的方法
Aug 10 #Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 #Python
You might like
?生?D片??C字串
2006/12/06 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
php压缩文件夹最新版
2018/07/18 PHP
详解json在php中的应用
2018/09/30 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
作为老司机使用 React 总结的 11 个经验教训
2017/04/08 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
python爬取网站数据保存使用的方法
2013/11/20 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
幼儿发展评估方案
2014/06/11 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
java版 简单三子棋游戏
2022/05/04 Java/Android