2017-02-09 46 views
2

我想從我的單詞中刪除某些特殊字符和一些像'& quot的垃圾(但我想保留一些特殊字符,如'é','á'等)。我怎樣才能匹配的確切模式'& quot'(或'quot',因爲我可以分別刪除'&')?Python正則表達式找到確切的單詞

word = re.sub('[,|;|?|!|(|)|{|}|.|&|\bquot\b]+', '', word) 

我這樣做,但它刪除所有'q'''u'''''''''字符。

編輯 的要求測試字符串:

'&quottermészet&quot' should be 'természet'  
'data,' should be 'data' 
+0

提供測試字符串和預期輸出。 – MYGz

回答

1

你的意思是這樣的嗎?

re.sub('&quot', '', "abc&quotdef") 
+0

嗯,是的,但我不知道如何將這個添加到整個'[[| | | | | | | | | | {|} |。] +'' 表達式中。 –

+0

你爲什麼不寫兩行代碼? – ergonaut

2

在方括號內時,不需要|分離

嘗試用這個表達式

re.sub(r'[,;?!(){}.]|\&quot', '', word) 
+0

我會用're.sub(r'[,;?!(){}。] + |'','',word)',不需要匹配和替換空字符串。 –

+0

是的,避免匹配空的字符串是好的。我會編輯我的答案 – Andrea