3 回答
TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
您正在正則表達(dá)式中使用,并且需要正確轉(zhuǎn)義它,請(qǐng)嘗試以下操作:-
re.sub("[,.;@#?+^:%\-=()!&$]", " ", s)在文檔中查看特殊字符列表以及如何注意 .[]
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
在你的情況下,我會(huì)使用str.maketrans和字符串模塊中的標(biāo)點(diǎn)符號(hào)集,因?yàn)槲艺J(rèn)為這比正則表達(dá)式更具可讀性:
import string
s = s.translate(str.maketrans('', '', string.punctuation))
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊
特殊字符必須在正則表達(dá)式字符串中轉(zhuǎn)義。即
clean = re.sub(r"[,\.;@\#\?\+\^:%\-=\(\)!\&\$]", " ", s)
或使用 re.escape,它會(huì)自動(dòng)轉(zhuǎn)義特殊字符
esc = re.escape(r',.;@#?+^:%-=()!&$')
clean = re.sub("[" + esc + "]", " ", s)
添加回答
舉報(bào)
