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, '')

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'

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.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.