python - what - tutorial de django
¿Cómo quitar una palabra específica de una cadena? (4)
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
Necesito quitar una palabra específica de una cadena.
Pero me parece que el método de la tira de pitón 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?
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)
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''