In String eingeschlossene Escape-Sequenz wird ignoriert

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hallo,
ich lese den Namen für ein Menü-Item aus einer Textdatei.

Code: Alles auswählen

100%\t7
Die darin enthaltene Escape-Sequenz '\t' wird aber nicht als solche interpretiert, so dass im Menü nacher

Code: Alles auswählen

100%\t7
statt

Code: Alles auswählen

100%     7 
steht.

Wie kann ich es anstellen, dass die Escape-Sequenz auch als solche interpretiert wird?

Es grüßt,
Seven
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Entweder ``menu_string.replace('\\t', '\t')`` oder ``menu_string.decode('string-escape')`` oder in der Menü-Datei schon das Tabulator-Zeichen benutzen.
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Trundle hat geschrieben:Entweder ``menu_string.replace('\\t', '\t')`` oder ``menu_string.decode('string-escape')`` oder in der Menü-Datei schon das Tabulator-Zeichen benutzen.
Zweite Variante führte bei mir zum gewünschten Ergebnis.

Thanx!
Seven
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Hi,
doch noch ein Problem.
Es funktioniert nicht mit Unicode (decode(unicode-escape)). Für die deutsche Version müssen die Menünamen wegen der Umlaute aber zu Unicode gewandelt werden.

Gruß, Seven
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Habs jetzt erstmal für jeden relevanten Menüeintrag so gemacht:

Code: Alles auswählen

self.menuitem = wx.MenuItem (self.mainmenu, ID, unicode(itemnames[index].decode('string-escape'), 'utf-8'))
Grüße, Seven
Antworten