10

次のようなものを使用する方法がないコンテキストで、文字列のリストを検索するように実装しようとしていstr.startswithます(興味がある場合は、App Engineデータストアにクエリを実行しています)。特定のプレフィックスを持つすべての文字列に対して、「py」としましょう。

比較演算子を自由に使えるので、次のように実装できると思いました。

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

chr(ord(search[0]) + 1)、検索クエリの最初の文字の直後に辞書式順序である文字であると想定されています。

問題は、これが機能しないことです。たとえばord(u"‰")、8240を返します。しかし、これをもう一度入れるとchrエラーが発生します。

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

どうすればこれを解決できますか?

編集ちょうどこれが機能するかどうかを確認して、unichrについて知りました。もしそうなら、私は答えを書きます。

4

1 に答える 1

23

おそらくunichr()を使用すると、この関数は機能します

于 2013-02-21T16:12:03.310 に答える