gpt4 book ai didi

python - 使用Python在字符串中查找unicode字符

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:44 25 4
gpt4 key购买 nike

我是Python新手,也许这个问题不太聪明,但无论如何我无法解决这个小问题。像往常一样,例如在条件语句中,为了在字符串中查找某个字符或子字符串,我通常编写以下代码:

if 'a' in myvariable:
<do something>

但是,如果字符或子字符串是具有高代码点的 unicode 字符,例如 ⸣(半方括号),则会出现以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 0: ordinal not in range(128) .

我明白这个问题,但我不知道如何解决它。

当然我正在使用 python 2.7

编辑

这是我的真实迭代,以下是一些说明:

if '⸣' not in myvariable:
newvariable = 100.0

我必须测试 '⸣' 是否不在 myvariable 中:myvariable 类型已经是 <type 'unicode'> ,而 unicode 字符“⸣”(Unicode 代码点 U+2E23)超出了 ASCII 字符的范围。此外,脚本已经使用了编译指示 # -*- coding: utf-8 -*- .

非常感谢大家

最佳答案

这就是为什么 Python 3 中删除了字节字符串到 Unicode 字符串的隐式转换。

您已经快到了,#coding 行位于文件的开头。只需一个微小的更改即可将测试字符转换为 Unicode 字符串:

if u'⸣' not in myvariable:
newvariable = 100.0

您可能会遇到该特定字符的问题,就像我在我的系统上所做的那样,因此您可以使用等效的转义序列来代替:

if u'\u2e23' not in myvariable:
newvariable = 100.0

关于python - 使用Python在字符串中查找unicode字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43675897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com