Не дубликат
Это не дубликат этого вопрос я думаю. Там ответ говорит, как исправить проблему в python 2 и что она не должна возникать в python 3. Также предоставленный ответ не работает для меня:
>>"ć́".decode()
AttributeError: 'str' object has no attribute 'decode'
>>len(u"ć́")
2
Оригинальный вопрос:
Я импортирую данные книги с веб-сайта и затем обрабатываю их. Одним из первых шагов является создание некоторого материала с длиной определенной строки. К сожалению, функция len() иногда возвращает ложное значение, когда включены неправильные символы:
>>len("Krste Asanović́ ... [et al.].")
29
>>ord("ć́")
TypeError: ord() expected a character, but string of length 2 found
Здесь ć́ не является стандартным символом, если я заменю его обычным c, я получу другой результат.
>>len("Krste Asanovic ... [et al.].")
28
Я могу, конечно, решить проблему с помощью replace():
>>"Krste Asanović́ ... [et al.].".replace("ć́","c")
'Krste Asanovic ... [et al.].'
Но есть ли способ вообще запретить странные буквы?
РЕДАКТИРОВАТЬ
>>list("ć́")
['ć', '́']
Я использую python3.6
РЕДАКТИРОВАТЬ 2
это...
>>"ć́".replace("´","")
"ć́"
ничего не делает.
list("ć")
. - person lenz   schedule 18.02.2018\xB4
вместо сочетания острого\u0301
). - person lenz   schedule 19.02.2018