Получение последнего символа из строки, которая может быть или не быть UnicodePython

Программы на Python
Anonymous
Получение последнего символа из строки, которая может быть или не быть Unicode

Сообщение Anonymous »

Я анализирую файл, который содержит как альфа-строки, так и строки Unicode/UTF-8, содержащие произношение IPA.
Я хочу иметь возможность получить последний символ строки, но иногда эти символы занимают два пробела, например

Код: Выделить всё

    syl = 'tyl'  # plain ascii
last_char = syl[-1]
# last char is 'l'

syl = 'tl̩'  # contains IPA char
last_char = syl[-1]
# last char erroneously contains: '̩' which is a diacritical mark on the l
# want the whole character 'l̩'
Если я попытаюсь использовать .decode(), это не удастся

Код: Выделить всё

'str' object has no attribute 'decode'
Если я попытаюсь использовать .encode().decode(), я вернусь к тому, с чего начал, и просто получу диакритический знак вместо полного символа.
Как получить последний символ строки unicode/utf-8 (если вы не знаете, является ли это строкой ascii или unicode)
Думаю, я мог бы использовать таблицу поиска известных символов, и если это не удастся, вернуться и взять syl[-2:]. Есть ли более простой способ?

Подробнее здесь: https://stackoverflow.com/questions/789 ... be-unicode

Вернуться в «Python»