Python中非ASCII字符的chr函数

10 投票
1 回答
11239 浏览
提问于 2025-04-17 16:38

我正在尝试在一个字符串列表中实现搜索,但在这个环境下不能使用像 str.startswith 这样的功能(如果你感兴趣的话,我是在查询应用引擎的数据存储)。我想找出所有以某个特定前缀开头的字符串,比如说 '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,正在检查这个方法是否有效。如果有效的话我会写个答案。

1 个回答

23

也许可以使用 unichr() 这个函数,它会有效果。

撰写回答