使用 Python 删除变音符
Removing diacritical marks using Python
我有几个文本文件包含带有变音符号的字符,例如 è
、á
、ô
等。我想用 e
、a
、o
等
替换这些字符
如何在 Python 中实现此目的?感谢您的帮助!
尝试使用 unidecode(您可能需要安装它)。
>>> from unidecode import unidecode
>>> s = u"é"
>>> unidecode(s)
'e'
您可以执行的操作示例:
accented_string = u'Málaga'
`enter code here`# accented_string is of type 'unicode'
import unidecode
unaccented_string = unidecode.unidecode(accented_string)
# unaccented_string contains 'Malaga'and is of type 'str'
与您的问题非常相似的示例。检查这个:
What is the best way to remove accents in a Python unicode string?
在Python 3中,你只需要使用unidecode
包。它适用于小写和大写字母。
安装包:(根据您的系统和设置,您可能需要使用 pip3
而不是 pip
)
$ pip install unidecode
然后使用如下:
from unidecode import unidecode
text = ["ÉPÍU", "Naïve Café", "EL NIÑO"]
text1 = [unidecode(s) for s in text]
print(text1)
# ['EPIU', 'Naive Cafe', 'EL NINO']
text2 = [unidecode(s.lower()) for s in text]
print(text2)
# ['epiu', 'naive cafe', 'el nino']
我有几个文本文件包含带有变音符号的字符,例如 è
、á
、ô
等。我想用 e
、a
、o
等
如何在 Python 中实现此目的?感谢您的帮助!
尝试使用 unidecode(您可能需要安装它)。
>>> from unidecode import unidecode
>>> s = u"é"
>>> unidecode(s)
'e'
您可以执行的操作示例:
accented_string = u'Málaga'
`enter code here`# accented_string is of type 'unicode'
import unidecode
unaccented_string = unidecode.unidecode(accented_string)
# unaccented_string contains 'Malaga'and is of type 'str'
与您的问题非常相似的示例。检查这个: What is the best way to remove accents in a Python unicode string?
在Python 3中,你只需要使用unidecode
包。它适用于小写和大写字母。
安装包:(根据您的系统和设置,您可能需要使用 pip3
而不是 pip
)
$ pip install unidecode
然后使用如下:
from unidecode import unidecode
text = ["ÉPÍU", "Naïve Café", "EL NIÑO"]
text1 = [unidecode(s) for s in text]
print(text1)
# ['EPIU', 'Naive Cafe', 'EL NINO']
text2 = [unidecode(s.lower()) for s in text]
print(text2)
# ['epiu', 'naive cafe', 'el nino']