У меня есть тоны строковых данных и вы хотите найти все «iphone case» или «iPhone 6 case» или «iphone cases» в строке и удалить с помощью regexp.python regex два слова
tweet=re.sub(r'iphone\s[case]+', 'DELETESENTENCE', tweet)
tweet=re.sub(r'[iphone\s]+[0-6]+[\scase]+', 'DELETESENTENCE', tweet)
Я использовал для регулярного выражения выше, а потом я убью весь текст, включая DELETESENTENCE
.
Но мне просто интересно, более достойный способ очистки текста, а не убийство по отдельности или замене шаблона индивидуально
, например, у меня есть lst=['iPhone case', 'iPhone battery', 'iPhone film']
и re(r'lst','DELETESENTENCE','tweet)
< == очевидно, что это не работает.
Что ваш вопрос? Ваш код работает, не так ли? Почему вы хотите изменить его? Если мы сможем понять вашу мотивацию, мы можем лучше понять, какой совет предложить :) –
@MagnusHoff Мой вопрос: «Есть ли способ, чтобы я мог объединить эти два регулярных выражения?» И если у меня есть список из двух слов, как описано выше, как я могу убить их с помощью регулярного выражения? –
А, спасибо. Ответы ниже кажутся правильными. В общем случае вы можете комбинировать регулярные выражения с оператором * или *, '|'. Например, если вы хотите сопоставлять «exp 1» и «exp 2», вы можете комбинировать их следующим образом: '(exp 1) | (exp 2)'. –