相关疑难解决方法(0)

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

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

我在Web上发现了一种在Java中执行此操作的优雅方法:

  1. 将Unicode字符串转换为长标准化形式(字母和变音符号使用单独的字符)
  2. 删除Unicode类型为"变音符号"的所有字符.

我是否需要安装pyICU等库?或者只使用python标准库?那python 3怎么样?

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

python unicode diacritics python-2.x python-3.x

462
推荐指数
12
解决办法
23万
查看次数

删除重音和特殊字符

可能重复:
在python unicode字符串中删除重音的最佳方法是什么?
Python和字符规范化

我想删除重音,将所有字符都改为小写,并删除任何数字和特殊字符.

示例:

Frédér8ic@ - >弗雷德里克

提案:

def remove_accents(data):
    return ''.join(x for x in unicodedata.normalize('NFKD', data) if \
    unicodedata.category(x)[0] == 'L').lower()
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

python diacritics

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

diacritics ×2

python ×2

python-2.x ×1

python-3.x ×1

unicode ×1