在處理文本的時候往往需要對標點符號進行處理:
導入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:
哇你今天真的好漂亮