Todas las respuestas que sugieren agregar espacios antes y después de la palabra que está reemplazando son incorrectas . Aquí hay un contraejemplo:
>>> 'this is is a is string'.replace(' is ',' xx ')
'this xx is a xx string'
¿Ves el 'is'
todavía en la cadena? ¿Qué está haciendo allí, por qué no fue reemplazado? Bueno, el problema es que el espacio inmediatamente anterior a 'is'
ya se ha procesado como parte de la coincidencia anterior de ' is '
.
- Si pudiera romper el algoritmo RSA, ¿lo mantendría en secreto?
- Cómo averiguar si existen dos elementos en una matriz ordenada cuya suma es igual a algún número predefinido
- ¿Qué algoritmos pueden ordenar los datos que se dividen en varias máquinas?
- Teoría de grafos: ¿en qué se diferencian los árboles de expansión construidos a partir de Prim de los árboles de expansión construidos a partir de Kruskal?
- ¿Cuáles son algunos problemas prácticos en los que no se puede evitar el uso de algoritmos con big-O muy grande?
Para solucionar este problema, simplemente necesita llamar a reemplazar dos veces seguidas . (¿Ves por qué es suficiente, independientemente de la cantidad de apariciones de la palabra que estamos reemplazando?)
(Por supuesto, la solución basada en expresiones regulares con marcas de límite de palabras casi siempre será la mejor manera de hacer esto en la práctica. Es concisa y legible, sin casos difíciles como el que mencioné anteriormente).