Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python查找字符串中的unicode字符_Python_String_Python 2.7_Unicode - Fatal编程技术网

使用Python查找字符串中的unicode字符

使用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-*- 非

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

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