小编典典

移除Python unicode字符串中的重音符号(规范化)的最佳方法是什么?

python

我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号)。

我在网上发现了一种优雅的方法(使用Java):

  1. 将Unicode字符串转换为长规范化格式(带有单独的字母和变音符号)
  2. 删除所有Unicode类型为“ diacritic”的字符。
    我是否需要安装pyICU之类的库,还是仅使用Python标准库就可以?那python 3呢?

重要说明:我想避免使用带有重音符号到非重音符号的显式映射的代码。


阅读 307

收藏
2020-12-20

共1个答案

小编典典

Unidecode是正确的答案。它将所有unicode字符串音译为ASCII文本中最接近的可能表示形式。

例:

accented_string = u'Málaga'
# accented_string is of type 'unicode'
import unidecode
unaccented_string = unidecode.unidecode(accented_string)
# unaccented_string contains 'Malaga'and is of type 'str'
2020-12-20