Reemplazar la primera aparición de cadena en Python


116

Tengo una cadena de muestra. ¿Cómo puedo reemplazar la primera aparición de esta cadena en una cadena más larga con una cadena vacía?

regex = re.compile('text')
match = regex.match(url)
if match:
    url = url.replace(regex, '')

¿Qué estás buscando y reemplazando? ¿Qué hay en eso url?
BoltClock

Quiero reemplazar la primera aparición de 'texto' en mi cadena de URL
marks34

Respuestas:


239

La función string replace () resuelve perfectamente este problema:

string.replace (s, old, new [, maxreplace])

Devuelve una copia de la cadena s con todas las apariciones de la subcadena antigua reemplazada por nueva. Si se proporciona el argumento opcional maxreplace, se reemplazan las primeras apariciones de maxreplace.

>>> u'longlongTESTstringTEST'.replace('TEST', '?', 1)
u'longlong?stringTEST'

20

Usar re.subdirectamente, esto le permite especificar un count:

regex.sub('', url, 1)

(Tenga en cuenta que el orden de los argumentos es replacement, originalno al revés, como se puede sospechar.)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.