2011-01-07 26 views
64

Ho una stringa di esempio. Come posso sostituire la prima occorrenza di questa stringa in una stringa più lunga con una stringa vuota?Sostituisce la prima occorrenza di stringa in Python

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

Cosa cercate e la sostituzione? Cosa c'è in quell'URL? – BoltClock

+0

Voglio sostituire la prima occorrenza di "testo" nella mia stringa di URL – marks34

risposta

149

stringa replace() funzione se risolve perfettamente questo problema:

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

Restituisce una copia di stringa s con tutte le occorrenze di sottostringa vecchie sostituite da nuove. Se viene fornito l'argomento facoltativo maxreplace, vengono sostituite le prime occorrenze massime.

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

Usa re.sub direttamente, questo consente di specificare un count:

regex.sub('', url, 1) 

(. Si noti che l'ordine degli argomenti è replacement, original non il contrario, come potrebbe essere sospettato)

Problemi correlati