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:

哇你今天真的好漂亮
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章