如何在unicode字符串上使用strip()之类的字符串方法?并且你不能访问像oridnary字符串一样的unicode字符串的字符? (例如:mystring [0: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字符串。