Farbescape-Sequenzen aus Strings entfernen
Verfasst: Freitag 22. September 2006, 14:37
Ich habe Strings vorliegen, in denen Escape-Sequencen fuer die Schriftfarbe vorkommen. Die Farbe soll aber raus. Beispiel:
Ich bekomme es zwar hin, aber total kompliziert: Auf repr(a) ein re.sub anwenden:
Dann die zerstoerten Escape-Sequencen \n, \r etc. wieder reparieren und schlussendlich noch die ueberfluessigen ' von repr wieder entfernen.
Jetzt frag ich mich, ob das auch irgendwie einfacher geht? Sehe ich vielleicht gerade den Wald vor lauter Baeumen nicht? (Ich glaube, ich werde heute nacht von Backslashes traeumen, so lange starr ich schon auf diese daemlichen Strings...)
Code: Alles auswählen
>>> a = ... #irgendein string
>>> repr(a)
"'\\x1b[46;1;31mHallo\\nWelt\\x1b[0m'"
>>> magische umwandlung
>>> repr(a)
"'Hallo\\nWelt'"
Code: Alles auswählen
>>> a = re.sub(r"\\((033)|(x1b))\[.*?m", "", repr(a))
>>> repr(a)
'"\'Hallo\\\\nWelt\'"'
Jetzt frag ich mich, ob das auch irgendwie einfacher geht? Sehe ich vielleicht gerade den Wald vor lauter Baeumen nicht? (Ich glaube, ich werde heute nacht von Backslashes traeumen, so lange starr ich schon auf diese daemlichen Strings...)