Ersetzen von nicht druckbaren Zeichen
Verfasst: Samstag 12. November 2022, 16:32
Hallo,
ich habe aus dem Internet eine Tabelle kopiert, als Textdatei abgespeichert, per Script eingelesen und zeilenweise mit Formatstring für die Konsole schön gemacht.
Jede Zeile hat 3 Spalten, die durch Tabulatoren getrennt sind. Die Ausgabe erfolgt so:
Und dann der Schreck. Die "|" waren verschoben. Ich habe den Übeltäter ausfindig gemacht. Im Text hatte sich ein "\u200e" versteckt. Das Unicode Steuerzeichen "Left-to-Right Mark". Das wird wohl bei der Berechnung der Textlänge berücksichtigt, da es aber nicht ausgegeben wird, passt die Formatierung dann nicht.
Keiner meiner benutzen Texteditoren (Geany, Pluna, Bluefish) zeigt das an. Nur wenn man in Einzelschritten durch den Text geht, kann man das merken. Aber wer macht das schon?
In diesem Fall ist die Lösung einfach. Entweder die paar Zeilen manuell korigieren oder im Script mit Replace entfernen.
Mich würde aber interessieren, ob es eine Möglichkeit gibt, alle nicht druckbaren Steuerzeichen automatisch zu entfernen.
Viele Grüße
ich habe aus dem Internet eine Tabelle kopiert, als Textdatei abgespeichert, per Script eingelesen und zeilenweise mit Formatstring für die Konsole schön gemacht.
Jede Zeile hat 3 Spalten, die durch Tabulatoren getrennt sind. Die Ausgabe erfolgt so:
Code: Alles auswählen
for zeile in tabelle.split("\n"):
print( "{:15} | {:60} | {:>10}".format( *zeile.split("\t") ) )
Keiner meiner benutzen Texteditoren (Geany, Pluna, Bluefish) zeigt das an. Nur wenn man in Einzelschritten durch den Text geht, kann man das merken. Aber wer macht das schon?
In diesem Fall ist die Lösung einfach. Entweder die paar Zeilen manuell korigieren oder im Script mit Replace entfernen.
Mich würde aber interessieren, ob es eine Möglichkeit gibt, alle nicht druckbaren Steuerzeichen automatisch zu entfernen.
Viele Grüße