首先,我知道有類似的問(wèn)題,但我找不到任何與我的情況真正匹配的東西。我有一個(gè)大字符串,我想從中刪減一些文本。import relargeString = 'abcdefgTHIS NEEDS TO GO?abdehdfenTHIS NEEDS TO GO TOO?asjdhnasjdf'itemList =['THIS NEEDS TO GO?','THIS NEEDS TO GO TOO?']<<<some code>>>Out: 'abcdefgabdehdfenasjdhnasjdf我試過(guò)這個(gè):for i in itemList: largeString = re.sub(str(i), '', largeString.rstrip())問(wèn)題是搜索字符串中的問(wèn)號(hào)——我知道通常我會(huì)做“這需要去嗎?”。不幸的是,該列表非常大,我無(wú)法手動(dòng)更改它。有沒(méi)有辦法讓正則表達(dá)式忽略問(wèn)號(hào)功能?任何幫助或想法表示贊賞!
1 回答

鳳凰求蠱
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您的字符串itemList僅包含字符串(不包含任何正則表達(dá)式),那么您可以re.escape在將其提供給任何搜索參數(shù)之前使用它。顧名思義,它將遍歷字符串,并轉(zhuǎn)義所有在regex.
import re
largeString = 'abcdefgTHIS NEEDS TO GO?abdehdfenTHIS NEEDS TO GO TOO?asjdhnasjdf'
itemList =['THIS NEEDS TO GO?','THIS NEEDS TO GO TOO?']
for item in itemList:
largeString = re.sub(re.escape(item), '', largeString)
輸出:
>>> largeString
'abcdefgabdehdfenasjdhnasjdf'
添加回答
舉報(bào)
0/150
提交
取消