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
大写不';t处理特殊字符-Python_Python_String_Utf 8_Character_Capitalize - Fatal编程技术网

大写不';t处理特殊字符-Python

大写不';t处理特殊字符-Python,python,string,utf-8,character,capitalize,Python,String,Utf 8,Character,Capitalize,我一直在尝试将大量字符串大写,其中一些字符串以utf-8字符开头。 问题是,他们没有资本化 mystring = 'lucas' mystring.capitalize() # returns 'Lucas' mytring = 'æthelred' mystring.capitalize() # returns 'æthelred' 与包含`^¨的元音和字符ð、þ、e.t.c.相同。 我该怎么解决这个问题 实际上,我没有访问字符串的权限,我在其他地方得到它们,在一个文本文件中…您省略了u。

我一直在尝试将大量字符串大写,其中一些字符串以utf-8字符开头。 问题是,他们没有资本化

mystring = 'lucas'
mystring.capitalize() # returns 'Lucas'

mytring = 'æthelred'
mystring.capitalize() # returns 'æthelred'
与包含`^¨的元音和字符ð、þ、e.t.c.相同。 我该怎么解决这个问题


实际上,我没有访问字符串的权限,我在其他地方得到它们,在一个文本文件中…

您省略了
u
。对于python,字符串需要定义为unicode

>>> mytring = u"æthelred"
>>> print mytring.capitalize()
Æthelred
python3
中,字符串默认为unicode,您不需要
u

>>> "æthelred".capitalize()
'Æthelred'

如果您使用的是Python2,那么这也会起作用。在文件的顶部放置:

from __future__ import unicode_literals

这将强制字符串采用类似于Python3的行为,使其默认为unicode。

这个答案对于Python2.x是正确的。在Python3.x中,字符串默认为unicode,因此Leandro的代码应该可以工作fine@stochastic是的,谢谢提醒!我将更新答案当字符串已经在变量中时,如何将其定义为unicode?很抱歉,这是一个全新的功能。@LeandroLyra只需使用
unicode
函数:
>>unicode('abc')u'abc'
mystring.decode(“utf-8”).capitalize()
这似乎不起作用,有一些东西它无法以这种方式解码。我还在文件末尾声明utf-8,这应该不会有问题。