大写不适用于特殊字符 - Python

时间:2014-12-31 16:27:49

标签: python string utf-8 character capitalize

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

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

mytring = 'æthelred'
mystring.capitalize() # returns 'æthelred'

与包含''^¨和字符ð,þ,e.t.c。的元音相同。 我该怎么做才能解决这个问题?

我实际上无权访问字符串,我将它们放在其他地方,在文本文件中......

2 个答案:

答案 0 :(得分:5)

您省略了u。字符串需要定义为python的unicode!

>>> mytring = u"æthelred"
>>> print mytring.capitalize()
Æthelred

由于python 3字符串默认为unicode,因此您不需要u

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

答案 1 :(得分:2)

如果您使用的是Python 2,这也可以。在文件的顶部放置:

from __future__ import unicode_literals

这将强制Python 3像字符串一样行为,默认情况下使它们成为unicode。