使用Python查找字符串中的unicode字符
我是python新手,也许这个问题不太聪明,但无论如何我无法解决这个小问题。 与往常一样,例如在条件语句中,要在字符串中查找某个字符或子字符串,我将编写以下代码:使用Python查找字符串中的unicode字符,python,string,python-2.7,unicode,Python,String,Python 2.7,Unicode,我是python新手,也许这个问题不太聪明,但无论如何我无法解决这个小问题。 与往常一样,例如在条件语句中,要在字符串中查找某个字符或子字符串,我将编写以下代码: if 'a' in myvariable: <do something> 我必须测试一下你是否⸣' 不在myvariable中:myvariable类型已为,而unicode字符⸣' (Unicode代码点U+2E23)超出ASCII字符的范围。 此外,脚本已经使用了pragma#-*-编码:utf-8-*- 非
if 'a' in myvariable:
<do something>
我必须测试一下你是否⸣' 不在myvariable中:myvariable类型已为
,而unicode字符⸣' (Unicode代码点U+2E23)超出ASCII字符的范围。
此外,脚本已经使用了pragma#-*-编码:utf-8-*-
非常感谢大家使用python 3 您可以将unicode声明为例如:
var=u'e
,并执行以下操作var.find('a')
,以查找unicode变量中的字符
希望这能奏效 您还可以尝试更改文件编码类型以使其正常工作。 请参阅本文件: 通过将以下内容添加到源文件,可以将文件的编码类型更改为UTF-8:
# -*- coding: utf-8 -*-
范例
# -*- coding: utf-8 -*-
b = '⸣fdsf'
if 'd' in b:
print 'd'
这就是为什么在Python3中删除了字节字符串到Unicode字符串的隐式转换 您就快到了,文件开头有
#coding
行。将测试字符转换为Unicode字符串只需一个微小的更改:
if u'⸣' not in myvariable:
newvariable = 100.0
正如我在系统中所做的那样,您可能无法使用该特定字符,因此您可以使用等效的转义序列:
if u'\u2e23' not in myvariable:
newvariable = 100.0
我该怎么做?对不起,我真的是个新手。所以,如果我能很好地理解,任何时候我必须将测试字符与unicode字符串进行比较,测试字符必须是unicode-ed。很抱歉,这个答案。。。但是,当测试字符在ASCII字符范围内时,python会隐式地将其转换为unicode吗?@Pankus是的,当您尝试在带有unicode字符串的操作中使用ASCII字符串时,python 2.7会隐式地将其转换为unicode。当它工作时很方便,当它不工作时令人沮丧。
if u'\u2e23' not in myvariable:
newvariable = 100.0