在处理文本的时候往往需要对标点符号进行处理:
导入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:
哇你今天真的好漂亮