Zum Hauptinhalt springen

Texte ersetzen

Beispiel

import re

text = "Error 12 and error 99"
print(re.sub(r"\d+", "??", text))

Mehrfach / Flags

print(re.sub(r"error", "ERROR", text, flags=re.IGNORECASE))

Rate mal!

Ersetzt sub nur das erste Vorkommen standardmäßig?

Auflösung

Standard: alle nicht überlappenden Treffer (count steuert Begrenzung).

Probiere es selbst

Experiment 1

Alle Ziffern maskieren.

Experiment 2

Leerzeichen normalisieren \s+ → ein Space.

Experiment 3

E-Mail grob zensieren (einfach).

Übungen

Level 1

sub Demo.

Level 2

Zahlen durch X ersetzen.

Level 3

Funktion clean_spaces.

Level-3-Lösung
import re

def clean_spaces(text: str) -> str:
return re.sub(r"\s+", " ", text).strip()

Mini-Quiz

Mini-QuizWelches re-Tool ersetzt?

sub sitzt! Mini-Projekt: Textprüfer.