2014-09-03 4 views
-1

У меня есть следующая строка "3 0ABC, mNone \ n", и я хочу удалить m None и \ n. Уловкой является то, что 'm', \ n и None могут находиться где угодно в строке в любом порядке. Буду признателен за любую помощь. Я могу сделать re.sub ('[\ nm,]', '', string) или re.sub ('None', '', string), но не знаю, как комбинировать, когда заказ не выполняется дело.python regex sub без заказа

ответ

1

Если вы хотите удалить m, None и \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, ' 
Смежные вопросы