Python strip () строка в юникоде? - PullRequest
       34

Python strip () строка в юникоде?

5 голосов
/ 31 августа 2011

Как вы можете использовать строковые методы, такие как strip () для строки Unicode?и вы не можете получить доступ к символам строки Unicode, как с oridnary строк?(напр .: mystring [0: 4])

Ответы [ 4 ]

8 голосов
/ 31 августа 2011

Работает как обычно, если они на самом деле 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'
2 голосов
/ 26 июля 2016

Может быть, немного поздно ответить на этот вопрос, но если вы ищете библиотечную функцию, а не метод экземпляра, вы также можете использовать это.Просто используйте:

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)
2 голосов
/ 31 августа 2011

Вы можете выполнять любую строковую операцию, фактически в Python 3 все строки в кодировке 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ü
1 голос
/ 31 августа 2011

См. Документы Python для строк Unicode и следующий раздел о методах строк. Строки Unicode поддерживают все обычные методы и операции как обычные строки ASCII.

...