In diesem Artikel wird erläutert, wie Sie einzelne oder mehrere Zeichen in einer Zeichenfolge in Python ersetzen.
Python bietet eine str.replace () -Funktion, dh
str.replace(old, new , count)
Es gibt ein neues Zeichenfolgenobjekt zurück, das eine Kopie der vorhandenen Zeichenfolge ist und ersetzt wurde Inhalt.
- Wenn count nicht angegeben ist, wird eine Zeichenfolge mit allen Vorkommen von ‚old‘ zurückgegeben, die durch ’new‘ ersetzt wird.
- Wenn der count-Parameter übergeben wird, wird dies geschehen Geben Sie eine Zeichenfolge zurück, bei der die ersten ‚count‘-Vorkommen der‘ alten ‚Zeichenfolge durch die‘ neue ‚Zeichenfolge ersetzt wurden.
Lassen Sie uns anhand von Beispielen verstehen,
Ersetzen Sie alle Vorkommen eines bestimmten Zeichens / string in einem String
Angenommen, wir haben einen String, dh
mainStr = "Hello, This is a sample string"
Lassen Sie uns nun alle Vorkommen von ’s ersetzen ‚mit‘ X ‚dh
"""Replace all occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "X")
Der Inhalt von otherStr lautet wie folgt:
Hello, ThiX iX a Xample Xtring
As Zeichenfolgen sind in Python unveränderlich, daher können wir den Inhalt nicht ändern. Daher geben Mitgliedsfunktionen wie replace () eine neue Zeichenfolge zurück.
Da wir den Parameter count in der Funktion replace () nicht angegeben haben. Es werden also alle Vorkommen von „s“ durch „X“ ersetzt. Aber was ist, wenn wir nur die ersten paar Vorkommen anstelle aller ersetzen wollen? Mal sehen, wie das geht.
Ersetzen Sie die ersten n Vorkommen eines bestimmten Zeichens / einer Unterzeichenfolge in einer Zeichenfolge.
Angenommen, wir haben eine Zeichenfolge, dh
Ersetzen wir nun die ersten beiden Vorkommen von ’s‘ durch ‚XXXS‘, dh
"""Replace First 2 occurrences of given character or string in main string"""otherStr = mainStr.replace("s" , "XXXS", 2)
Der Inhalt von otherStr lautet wie folgt:
Hello, ThiXXXS iXXXS a sample string
Da wir den Parameter count als 2 übergeben haben, werden in der zurückgegebenen Kopie nur die ersten 2 Vorkommen von ’s‘ ersetzt.
Ersetzen Sie mehrere Zeichen / strings in einer Zeichenfolge
Die Funktion str.replace () kann nur das Vorkommen einer bestimmten Unterzeichenfolge ersetzen. Aber was ist, wenn wir mehrere Unterzeichenfolgen in einer bestimmten Zeichenfolge ersetzen möchten?
Angenommen, wir haben eine Zeichenfolge, dh
mainStr = "Hello, This is a sample string"
Wie kann man nun alle Vorkommen dieser drei Zeichen ’s‘, ‚l‘, ‚a‘ durch diese Zeichenfolge ‚AA‘ ersetzen?
Erstellen wir dazu eine neue Funktion über replace (), dh
"""Replace a set of multiple sub strings with a new string in main string."""def replaceMultiple(mainString, toBeReplaces, newString): # Iterate over the strings to be replaced for elem in toBeReplaces : # Check if string is in the main string if elem in mainString : # Replace the string mainString = mainString.replace(elem, newString) return mainString
Es werden alle Vorkommen von Zeichenfolgen in List toBeReplaces durch newString in der angegebenen Hauptliste mainString ersetzt.
Sehen wir uns an, wie die Vorkommen von durch „AA“ ersetzt werden
Der Inhalt von otherStr lautet wie folgt:
HeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring
Das vollständige Beispiel lautet wie folgt:
Ausgabe:
String with replaced Content : Hello, ThiX iX a Xample XtringHello, ThiXXXS iXXXS a sample stringHeAAAAo, ThiAA iAA AA AAAAmpAAe AAtring