On Thu, Mar 14, 2002 at 10:54:31AM +0100, Reinhard Foerster wrote:
On Thu, Mar 14, 2002 at 09:26:28AM +0100, Bernd Ledig - Heitech Service GmbH wrote:
Aufgabe: Ein String soll folgendermassen geändert werden:
aus "das ist ##ein## Test" soll "das ist <i>ein</i> Test" werden.
ein
re.sub("##(.*$)##", "<u>$1</u>", text)
liefert nicht das richtige Ergebnis. Tipps?
s = "das ist ##ein## Test" p = re.compile('##') x = p.sub('<i>',s) print x
oder mit backreference
s = "das ist ##ein## Test" print s p = re.compile('##(.*)##') x = p.sub(r'<i>\1<i>',s) print x
Das war jetzt mein erstes Stück Phyton-Kode. Komplizierte Syntax finde ich.
Man muss reguläre Ausdrücke nicht vorher kompilieren, es geht auch so:
import re s='das ist ##ein## Test' s=re.sub(r'##(.*)##', r'<u>\1</u>', s) print s
das "r" vor den Zeichenketten im Ausdruck sind optional. Man brauch dann nicht zwei Backslashs schreiben.
thomas