Python .split () ohne 'u

8

In Python, wenn ich eine Zeichenfolge wie:

habe %Vor%

Und ich mache

%Vor%

dann bekomme ich

%Vor%

Dies ist nur ein Beispiel.

Wie bekomme ich eine einfache Liste ohne das nervige u '??

    
user1576208 02.02.2013, 16:58
quelle

1 Antwort

18

u bedeutet, dass es sich um eine Unicode-Zeichenkette handelt - Ihre ursprüngliche Zeichenkette muss ebenfalls eine Unicode-Zeichenkette sein. Im Allgemeinen ist es eine gute Idee, Zeichenfolgen Unicode zu behalten, da der Versuch, in normale Zeichenfolgen zu konvertieren, möglicherweise aufgrund von Zeichen ohne Entsprechung fehlschlagen könnte.

u wird nur verwendet, um Sie darüber zu informieren, dass es sich um eine Unicode-Zeichenfolge in der Repräsentation handelt - sie wirkt sich nicht auf die Zeichenfolge selbst aus.

Im Allgemeinen funktionieren Unicode-Strings genau wie normale Strings. Es sollte also kein Problem geben, sie als Unicode-Strings zu belassen.

In Python 3.x sind Unicode-Zeichenfolgen die Standardeinstellung, und die u wird nicht vorangestellt (stattdessen wird bytes (das Äquivalent zu alten Zeichenfolgen) mit b vorangestellt).

Wenn Sie wirklich möchten, müssen Sie wirklich in eine normale Zeichenfolge konvertieren (selten der Fall, aber möglicherweise ein Problem, wenn Sie eine Erweiterungsbibliothek verwenden, die dies nicht unterstützt) Unicode-Strings zum Beispiel), schauen Sie sich unicode.encode() und unicode.decode() . Sie können dies entweder vor der Aufteilung oder nach der Aufteilung mit einem Listenverständnis tun.

    
Gareth Latty 02.02.2013 17:00
quelle

Tags und Links