Python Tutorial
- jetzt Python programmieren lernen

Zeichen ersetzen/austauschen mit Python: String replace('alt', 'neu', [Anzahl])

Bei der Arbeit mit Strings ist es oft notwendig, Zeichenketten bzw. Teile des Inhalts auszutauschen. Python bietet mit der Funktion variable.replace("alt", "neu") eine einfache Möglichkeit. Die Funktion zum Austauschen bzw. Ersetzen von Zeichenfolgen ist nicht auf einzelne Buchstaben begrenzt. Im folgenden Beispiel wollen wir in dem String alle DM durch Euro ersetzen (wenn das auch schon ein paar Tage her ist).

ausgabetext = "Der Preis für 2 Socken beträgt 5 DM und 5 Paar kosten 10 DM"
print(ausgabetext)
ausgabetext = ausgabetext.replace("DM", "Euro")
print("Nach dem Austauschen über replace():")
print(ausgabetext)

Als Ergebnis erhalten wir:

Der Preis für 2 Socken beträgt 5 DM und 5 Paar kosten 10 DM
Nach dem Austauschen über replace():
Der Preis für 2 Socken beträgt 5 Euro und 5 Paar kosten 10 Euro

Parameter von replace('x', 'y', [Anzahl])

Der dritte Parameter für die Anzahl ist Optional. Hier können wir festlegen, wie viele Vorkommen des alten Wertes ersetzt werden soll. Wird dieser Parameter nicht angegeben, werden alle Vorkommen ersetzt.

Beispiel: es sollen nur die erste 3 Vorkommen ersetzt werden:

ausgabetext = "Der Preis für 2 Socken beträgt 2 DM und 2 Paar kosten 3.50 DM"
ausgabetext = ausgabetext.replace("DM", "Euro")
ausgabetext = ausgabetext.replace("2", "zwei", 2)
print("Nach dem Austauschen über replace():")
print(ausgabetext)

Als Ergebnis erhalten wir:

Der Preis für zwei Socken beträgt zwei Euro und 2 Paar kosten 3.50 Euro

Mehrere Ersetzungen durchführen

Bei der Methode replace() können wir nur eine Ersetzung mitgeben. Was aber, wenn mehrere Ersetzungen gewünscht sind. In unserem Beispiel sollen die Zahl 1,2 und 3 ausgeschrieben werden. Es soll also jede „1“ durch „eins“ und jede „2“ durch „zwei“ und jede „3“ durch „drei“ ersetzt werden. Welche Möglichkeiten haben wir dafür?

ausgabetext = "1 1 2 2 3 3 4 4"
ausgabetext = ausgabetext.replace("1", "eins")
ausgabetext = ausgabetext.replace("2", "zwei")
ausgabetext = ausgabetext.replace("3", "drei")
print("Nach dem Austauschen über replace():")
print(ausgabetext)

Als Ergebnis erhalten wir die gewünschten Ersetzungen:

eins eins zwei zwei drei drei 4 4

zweite Variante für mehrfache Ersetzungen

Die zweite Möglichkeit ist, einfach unsere Aufrufe hintereinander durchzuführen:

ausgabetext = "1 1 2 2 3 3 4 4"
ausgabetext = ausgabetext.replace("1","eins").replace("2","zwei").replace("3","drei")
print("Nach dem Austauschen über replace():")
print(ausgabetext)

Als Ergebnis erhalten wir wieder die gewünschten Ersetzungen:

eins eins zwei zwei drei drei 4 4

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Das neue E-Book zum Kurs gibt es zum Kaufen.

Sie können uns auch eine Spende über PayPal zukommen lassen.

Bestellen Sie Bücher über folgenden Link bei Amazon:
Bücher über Python

Vielen Dank für Ihre Unterstützung