Ersetzen Sie das erste Vorkommen eines Strings in Python

116

Ich habe eine Beispielzeichenfolge. Wie kann ich das erste Vorkommen dieser Zeichenfolge in einer längeren Zeichenfolge durch eine leere Zeichenfolge ersetzen?

regex = re.compile('text')
match = regex.match(url)
if match:
    url = url.replace(regex, '')
Marken34
quelle
Was suchen und ersetzen Sie? Was ist drin url?
BoltClock
Ich möchte das erste Vorkommen von 'Text' in meiner URL-Zeichenfolge
ersetzen

Antworten:

239

Die Funktion string replace () löst dieses Problem perfekt:

string.replace (s, alt, neu [, maxreplace])

Geben Sie eine Kopie der Zeichenfolge s zurück, wobei alle alten Teilzeichenfolgen durch neue ersetzt werden. Wenn das optionale Argument maxreplace angegeben wird, werden die ersten maxreplace-Vorkommen ersetzt.

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

Bei re.subdirekter Verwendung können Sie Folgendes angeben count:

regex.sub('', url, 1)

( Man beachte , dass die Reihenfolge der Argumente ist replacement, originalnicht das Gegenteil könnte als vermutet werden.)

Konrad Rudolph
quelle