2014-09-03 57 views
-1

我有以下字符串「3 0ABC,mNone \ n」,我想刪除m None和\ n。捕獲是'm',\ n和None可以以任何順序在字符串中的任何位置。我將不勝感激任何幫助。 我可以做re.sub('[\ nm,]','',string)或re.sub('None','',string),但不知道如何在訂單沒有特別合併時物。python regex sub without order

回答

1

如果你想刪除mNone\n你可以在一個組中使用它們作爲模式。所以,你可以使用這個表達式:

(m|\\n|None) 

Working demo

enter image description here

如果使用下面的代碼:

import re 
p = re.compile(ur'(m|\\n|None)') 
test_str = u"3 0ABC, mNone\n" 
subst = u"" 

result = re.sub(p, subst, test_str) 
print result 

// Will show: 
'3 0ABC, '