Python去除文本的标点符号(含中英文符号)

在处理文本的时候往往需要对标点符号进行处理:

导入python string类自带的标点符号

from string import punctuation
s='不错!今天,也要"加油"哦?'
dicts={i:'' for i in punctuation}
punc_table=str.maketrans(dicts)
new_s=s.translate(punc_table)
print(new_s)

out:

不错今天也要加油哦
string方法 含义
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

在使用方法时易出现;
TypeError: translate() takes exactly one argument (2 given)
ValueError: the first two maketrans arguments must have equal length
在translate传入字典即可,maketrans()创建表时候需要一一对应

含有中文符号解决:

找到string.py
修改为:
在这里插入图片描述

punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~“”?,!【】()、。:;’‘……¥·"""

保存即可!(应该全了,不够再加即可)

s ="哇!你今天,真的,“好漂亮”"
dicts={i:'' for i in punctuation}
punc_table=str.maketrans(dicts)
new_s=s.translate(punc_table)
print(new_s)

out:

哇你今天真的好漂亮
发布了71 篇原创文章 · 获赞 204 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_44198436/article/details/104851973
今日推荐