Estoy tratando de hacer una expresión regular de Python que me permita eliminar todos los mundos de una cadena que contiene un número.
Por ejemplo:
in = "ABCD abcd AB55 55CD A55D 5555" out = "ABCD abcd"
La expresión regular para eliminar el número es trivial:
print(re.sub(r'[1-9]','','Paris a55a b55 55c 555 aaa'))
Pero no sé cómo borrar toda la palabra y no solo el número.
¿Usted me podría ayudar por favor?
¿Necesita una expresión regular? Puedes hacer algo como
>>> words = "ABCD abcd AB55 55CD A55D 5555" >>> ' '.join(s for s in words.split() if not any(c.isdigit() for c in s)) 'ABCD abcd'
Si realmente desea utilizar expresiones regulares, puede probar \w*\d\w*
:
>>> re.sub(r'\w*\d\w*', '', words).strip() 'ABCD abcd'
Aquí está mi enfoque:
>>> import re >>> s = "ABCD abcd AB55 55CD A55D 5555" >>> re.sub("\S*\d\S*", "", s).strip() 'ABCD abcd' >>>