Python strip()unicode字符串?

时间:2011-08-31 14:24:18

标签: python string unicode strip

如何在unicode字符串上使用strip()之类的字符串方法?并且你不能访问像oridnary字符串一样的unicode字符串的字符? (例如:mystring [0:4])

4 个答案:

答案 0 :(得分:8)

它正常工作,只要它们实际上是unicode,而不是str(注意:每个字符串文字必须前面有u,就像在这个例子中):

>>> a = u"coțofană"
>>> a
u'co\u021bofan\u0103'
>>> a[-1]
u'\u0103'
>>> a[2]
u'\u021b'
>>> a[3]
u'o'
>>> a.strip(u'ă')
u'co\u021bofan'

答案 1 :(得分:2)

你可以做每一个字符串操作,实际上在Python 3中,所有str都是unicode。

>>> my_unicode_string = u"abcşiüğ"
>>> my_unicode_string[4]
u'i'
>>> my_unicode_string[3]
u'\u015f'
>>> print(my_unicode_string[3])
ş
>>> my_unicode_string[3:]
u'\u015fi\xfc\u011f'
>>> print(my_unicode_string[3:])
şiüğ
>>> print(my_unicode_string.strip(u"ğ"))
abcşiü

答案 2 :(得分:2)

也许回答这个问题有点晚了,但是如果你正在寻找库函数而不是实例方法,你也可以使用它。 只需使用:

yourunicodestring = u'  a unicode string with spaces all around  '
unicode.strip(yourunicodestring)

在某些情况下,使用此功能更容易,例如在地图功能中使用:

unicodelist=[u'a',u'   a   ',u' foo is just...foo   ']
map (unicode.strip,unicodelist)

答案 3 :(得分:1)

请参阅Python docs on Unicode strings以及有关字符串方法的以下部分。 Unicode字符串支持所有常用的方法和操作,如普通的ASCII字符串。