Python Версия: Python 3.6.Я пытаюсь заменить символ Unicode u «\ u0092» (он же вьющийся апостроф) обычным апострофом.
Я пробовал все нижеприведенное:
mystring = <some string with problem character>
# option 1
mystring = mystring.replace(u"\u0092", u\"0027")
# option 2
mystring = mystring.replace(u"\u0092", "'")
# option 3
mystring = re.sub('\u0092',u"\u0027", mystring)
# option 4
mystring = re.sub('\u0092',u"'", mystring)
Ничто из вышеперечисленного не обновляет символ в mystring.Работают другие операции sub и replace - что заставляет меня думать, что это либо проблема с тем, как я использую символы Юникода, либо проблема с этим конкретным символом.
Обновление: я также попробовал приведенное ниже предложение, ни одно из которых не работает:
mystring.decode("utf-8").replace(u"\u0092", u"\u0027").encode("utf-8")
mystring.decode("utf-8").replace(u"\u2019", u"\u0027").encode("utf-8")
Но оно дает мне ошибку: AttributeError: у объекта 'str' нет атрибута 'decode'
Просто для уточнения: IDE здесь не является основной проблемой.Мой вопрос заключается в том, почему, когда я запускаю replace или sub с символом Unicode и печатаю результат, он не регистрируется - этот символ все еще присутствует в строке.