2013-02-21 10 views
6

Ich versuche, eine Suche durch eine Liste von Zeichenfolgen in einem Kontext zu implementieren, in dem es keine Möglichkeit gibt, etwas wie str.startswith zu verwenden (Wenn Sie neugierig sind, frage ich Der App-Engine-Datenspeicher.) Ich möchte nach jeder Zeichenfolge suchen, die ein bestimmtes Präfix hat, sagen wir "py".chr für Nicht-ASCII-Zeichen in Python

Ich habe Vergleichsoperatoren zu meiner Verfügung, also dachte ich, ich könnte dies wie folgt implementieren.

#pseudo code 
search = "py" 
search_strings_where(s > search, s < chr(ord(search[0]) + 1) 

Die chr(ord(search[0]) + 1) soll das Zeichen sein, das direkt nach dem ersten Zeichen der Suchabfrage in lexikographische Ordnung ist.

Das Problem ist, dass dies nicht funktioniert. Nehmen Sie zum Beispiel ord(u"‰"), die 8240 zurückgibt. Aber das setzen in chr wieder einen Fehler verursacht.

ValueError: chr() arg not in range(256) 

Wie könnte ich das lösen?

BEARBEITEN Haben Sie einfach über Unichr herausgefunden, ob das funktioniert. Ich werde eine Antwort schreiben, wenn es so ist.

Antwort

19

Vielleicht unichr() verwenden, wird diese Funktion

+0

Ich fand heraus, über unichr gearbeitet werden, während ein Stück weiter auf der Web-Suche. Danke für deine Antwort. – bigblind

+0

@InbarRose Die Antwort bietet ausreichend Informationen, ohne auf den Link zu klicken. OP sagt "Ich weiß, was' chr' macht, was ist das Äquivalent für Unicode? " Die Einwortantwort "unichr" würde genügen. Vielleicht ist die Klarstellung, dass es eingebaut ist, nützlich, aber es ist * eine vollständige Antwort, auch wenn es kurz ist. – Jack

+0

@Jack Necro viel? Dieser Beitrag ist 2 Jahre alt, mein Kommentar zu seiner Antwort ist bevor er es bearbeitet hat. Worum geht es dir? Und was fügt dies der Antwort hinzu? Jetzt, wo meine Aufmerksamkeit darauf gelenkt wird, kann ich meinen vorherigen Kommentar löschen - normalerweise würde ich annehmen, dass jemand meinen Kommentar einfach als "veraltet" markieren würde, aber ich denke, das funktioniert auch. –

Verwandte Themen