¿Cómo quitar una palabra específica de una cadena?

Necesito quitar una palabra específica de una cadena.

Pero me parece que el método de la tira de python parece no reconocer una palabra ordenada. Solo quita los caracteres pasados ​​al parámetro.

Por ejemplo:

>>> papa = "papa is a good man" >>> app = "app is important" >>> papa.lstrip('papa') " is a good man" >>> app.lstrip('papa') " is important" 

¿Cómo podría quitar una palabra específica con python?

Utilice str.replace .

 >>> papa.replace('papa', '') ' is a good man' >>> app.replace('papa', '') 'app is important' 

Alternativamente, use re y use expresiones regulares. Esto permitirá la eliminación de espacios iniciales / finales.

 >>> import re >>> papa = 'papa is a good man' >>> app = 'app is important' >>> papa3 = 'papa is a papa, and papa' >>> >>> patt = re.compile('(\s*)papa(\s*)') >>> patt.sub('\\1mama\\2', papa) 'mama is a good man' >>> patt.sub('\\1mama\\2', papa3) 'mama is a mama, and mama' >>> patt.sub('', papa3) 'is a, and' 

La forma más sencilla sería simplemente reemplazarlo con una cadena vacía.

 s = s.replace('papa', '') 

También puede utilizar una re.sub con re.sub :

 article_title_str = re.sub(r'(\s?-?\|?\s?Times of India|\s?-?\|?\s?the Times of India|\s?-?\|?\s+?Gadgets No'', article_title_str, flags=re.IGNORECASE) 

Al proporcionarle el valor de índice del comienzo y el final de cada palabra que desea reemplazar en la matriz de caracteres, y solo desea reemplazar esa porción de datos en particular, puede hacerlo de esta manera.

 >>> s = "papa is papa is papa" >>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:] >>> print(s) papa is mama is papa 

Alternativamente, si también desea conservar la estructura de datos original, puede almacenarla en un diccionario.

 >>> bin = {} >>> s = "papa is papa is papa" >>> bin["0"] = s >>> s = s[:8]+s[8:13].replace("papa", "mama")+s[13:] >>> print(bin["0"]) papa is papa is papa >>> print(s) papa is mama is papa