2011-01-07 16 views
64

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

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

Que esta buscando y reemplazando? ¿Qué hay en esa 'url'? – BoltClock

+0

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

Respuesta

149

cadena replace() función si resuelve perfectamente este problema:

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

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

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

Uso re.sub directamente, esto le permite especificar un count:

regex.sub('', url, 1) 

(. Tenga en cuenta que el orden de los argumentos es replacement, original no al revés, como podría ser sospechoso)

Cuestiones relacionadas