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 相关文章推荐
在Django中创建第一个静态视图
Jul 15 Python
理解python正则表达式
Jan 15 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
Python之循环结构
Jan 15 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
May 10 Python
学习python分支结构
May 17 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
浅谈Python中的字符串
Jun 10 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 03 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
Dedecms常用函数解析
2008/02/01 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
zend framework多模块多布局配置
2011/02/26 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
javascript 面向对象编程 function也是类
2009/09/17 Javascript
json 实例详细说明教程
2009/10/31 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
举例详解Python中的split()函数的使用方法
2015/04/07 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
详解Python字典的操作
2019/03/04 Python
python用requests实现http请求代码实例
2019/10/31 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
Python作用域与名字空间原理详解
2020/03/21 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
100%植物性、有机、即食餐:Sakara Life
2018/10/25 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
个人简历自我鉴定
2013/10/11 职场文书
总经理工作职责范文
2014/03/14 职场文书
土地租赁意向书
2014/07/30 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
最美乡村教师观后感
2015/06/11 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android