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
sub sitzt! Mini-Projekt: Textprüfer.