如何在python中替换重音字符?

时间:2017-06-08 09:25:51

标签: python-2.7

我的输出看起来像'àéêöhello!'。我需要更改我的输出,例如'aeeohello',只需将字符à替换为这样。

3 个答案:

答案 0 :(得分:8)

您好Ganesh请使用以下代码。

对我有用!

import unicodedata

def strip_accents(text):

    try:
        text = unicode(text, 'utf-8')
    except NameError: # unicode is a default on python 3 
        pass

    text = unicodedata.normalize('NFD', text)\
           .encode('ascii', 'ignore')\
           .decode("utf-8")

    return str(text)

s = strip_accents('àéêöhello')

print s

答案 1 :(得分:4)

import unidecode
somestring = "àéêöhello"

#convert plain text to utf-8
u = unicode(somestring, "utf-8")
#convert utf-8 to normal text
print unidecode.unidecode(u)

输出

aeeohello

答案 2 :(得分:0)

Alpesh Valaki 的回答是“最好的”,但我必须做一些调整才能让它工作。以粗体显示以了解更改。

#**I changed the import**
from unidecode import unidecode
somestring = "àéêöhello"

#convert plain text to utf-8
#**replaced unicode by unidecode**
u = unidecode(somestring, "utf-8")
#convert utf-8 to normal text
print(unidecode(u))

在此处输入代码