Я анализирую файл, который содержит как альфа-строки, так и строки 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' объект не имеет атрибута decode
Как получить последний символ строки Unicode/UTF-8 (если вы не знаете, является ли это Ascii или строка Юникода)?
Думаю, я мог бы использовать таблицу поиска известных символов, и если это не удастся, вернуться и взять syl[-2:]. Есть ли более простой способ?
В ответ на некоторые комментарии, вот полный список символов IPA, которые я собрал на данный момент:
a, b, d, e, f, f̩, g, h, i, i̩, i̬,
j, k, l, l̩, m, n, n̩, o, p, r, s,
s̩, t, t̩, t̬, u, v, w, x, z, æ, ð,
ŋ, ɑ, ɑ̃, ɒ, ɔ, ə, ɚ, ɛ, ɜ, ɜ˞, ɝ,
ɡ, ɪ, ɵ, ɹ, ɾ, ʃ, ʃ̩, ʊ, ʌ, ʒ, ʤ,
θ, ∅
Подробнее здесь: https://stackoverflow.com/questions/789 ... be-unicode