在Python unicode字符串中删除重音符号的最佳方法是什么?

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

我在网上发现了一种用Java实现此目的的优雅方法:

  1. 将Unicode字符串转换为长规范化格式(带有单独的字母和变音符号)
  2. 删除所有Unicode类型为“变音符号”的字符。

我是否需要安装pyICU之类的库,还是仅使用python标准库就可以?那python 3呢?

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

回答:

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'

以上是 在Python unicode字符串中删除重音符号的最佳方法是什么? 的全部内容, 来源链接: utcz.com/qa/410978.html

回到顶部