我有一大堆我正在嘗試清除的單詞。這些詞中的許多詞出現多次,每次都有點不同,我想對它們進行歸一化。比如我想換成下面的話:如果存在匹配的單詞,則替換整個字符串
list = ["resident super", "super live in", "on site superintendent in building", "livein super", "residential super", "superintendent lives in", "on-site super"...]
只有superintendent
我想我可以用
for item in list:
re.sub("resident super|super live in|on site superintendent in building| livein super|residential super|superintendent lives in|on-site super",
"superintendent", list)
做到這一點,但我肯定會錯過一些條目。所有的條目都包含單詞super
,但有沒有一種方法可以制定正則表達式規則,用所需的單詞替換整個項目?
的問題是,你要替換一個詞的空格分隔的單詞列表。所以你必須詳盡無遺,否則正則表達式不會知道何時開始/停止替換單詞。例如:「我是超人居住的人」:我在哪裏開始/停止替換? –
如果您的「單詞」是逐行提供的,則可以通過簡單匹配\ bsuper \ b來替換整個字符串。 –
我正在考慮使用'for'循環遍歷列表中的每個成員。如果該成員包含「super」這個詞,那麼整個成員應該由'superintendent'替代。 – Lukasz