Heim >Backend-Entwicklung >Python-Tutorial >isalpha unterstützt Unicode in Python 2.7 nicht
Als ich heute eine Suchkomponente schrieb, wollte ich das Suchfeld danach auswählen, ob nach allen Buchstaben gesucht werden soll.
Es gibt also folgenden Code:
if q.isalpha():
query = query.filter(User.username.ilike(like_str))else:
query = query. filter (User.realname.ilike(like_str))
Aber ich habe festgestellt, dass Isalpha als wahr beurteilt wird, selbst wenn Chinesisch darin enthalten ist.
Der Test ergab, dass die Methode isalpha in str bei der Beurteilung von Unicode unzuverlässig ist.
Die Standardparameterdekodierung in Flask ist UTF-8. Daher müssen Sie es mit encode('utf-8') neu kodieren, bevor die -Funktion isalpha() verwendet werden kann.
Der Test ist wie folgt:
In [15]: u"张 x".isalpha() Out[15]: TrueIn [16]: "张 x".isalpha()Out[16]: False In [17]: "aac".isalpha() Out[17]: True In [18]: u"张 x".encode('utf-8').isalpha() Out[18]: False
[Verwandte Empfehlungen]
1 Python kostenloses Video-Tutorial
2. in Python Methode zur Überprüfung, ob eine Zeichenfolge aus Buchstaben besteht: string.isalpha()
Das obige ist der detaillierte Inhalt vonisalpha unterstützt Unicode in Python 2.7 nicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!