Ersatzzeichenketten-Taschen in Python
Bei der Arbeit mit der Methode sub, wenn
etwas in eine Tasche im regulären Ausdruck gelegt werden soll,
kann man in der Ersatzzeichenkette den Inhalt
dieser Tasche einfügen, indem man einen Doppelbackslash \
und die Nummer der Tasche schreibt. Zum Beispiel, \1 -
die erste Tasche, \2 - die zweite Tasche
und so weiter.
Wofür das nützlich ist und wie man es verwendet, schauen wir uns an Beispielen an.
Beispiel
Lassen Sie uns alle Zahlen finden und sie durch dieselben Zahlen, aber in runden Klammern, ersetzen. Dazu ersetzen wir alle gefundenen Zahlen durch sich selbst, aber in Klammern:
txt = '1 23 456 xax'
res = re.sub('(\d+)', '(\1)', txt)
print(res)
In der Variable wird folgendes gespeichert:
'(1) (23) (456) xax'
Beispiel
Lassen Sie uns alle Zeichenketten finden, die
Zahlen mit umgebenden 'x' darstellen, und diese
Zahlen durch sich selbst, aber mit '!' Zeichen
umgeben, ersetzen:
txt = 'x1x x23x x456x xax'
res = re.sub('x(\d+)x', '!\1!', txt)
print(res)
In der Variable wird folgendes gespeichert:
'!1! !23! !456! xax'
Beispiel
Lassen Sie uns die folgende Aufgabe lösen: Gegeben sei die Zeichenkette
'aaa@bbb ccc@ddd' - Buchstaben, dann
ein @-Zeichen, dann Buchstaben. Wir müssen die Buchstaben
in der Teilzeichenkette 'aaa@bbb' vor
'@' und danach vertauschen:
txt = 'aaa@bbb ccc@ddd'
res = re.sub('([a-z]+)@([a-z]+)', '\2@\1', txt)
print(res)
In der Variable wird folgendes gespeichert:
'bbb@aaa ccc@ddd'
Praktische Aufgaben
Gegeben sei die Zeichenkette:
txt = '12 34 56 78'
Vertauschen Sie die Ziffern in allen zweistelligen Zahlen.
Gegeben sei eine Zeichenkette mit einem Datum:
txt = '31.12.2025'
Wandeln Sie dieses Datum in '2025.12.31' um.