使用Python将国际字符替换为基本拉丁语字符的好方法是什么?

2024-09-30 02:18:32 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个字符串"blöt träbåt",它有几个a和{},上面有元音变音和环。我希望它尽可能简单地变成"blot trabat"。我做了一些挖掘,发现了以下方法:

import unicodedata
unicode_string = unicodedata.normalize('NFKD', unicode(string))

这将给我一个unicode格式的字符串,其中国际字符被拆分为基本字母并组合字符(\u0308表示元音变音符)。现在要将它返回到一个ASCII字符串,我可以做ascii_string = unicode_string.encode('ASCII', 'ignore'),它将忽略组合字符,得到字符串"blot trabat"。在

这里的问题是:有没有更好的方法来做到这一点?感觉像是一个迂回的方式,我在想可能有什么我不知道的。当然,我可以用helper函数来包装它,但是我更愿意检查Python中是否已经存在这个函数。在


Tags: 方法函数字符串importstringasciiunicode字符
1条回答
网友
1楼 · 发布于 2024-09-30 02:18:32

最好创建一个显式表,然后使用unicode.翻译方法。这样做的好处是音译更精确,例如将“ß”译为“oe”,将“ß”译为“ss”,这在德语中应该做到。在

PyPI上有几个音译包:translitcodecUnidecode,和{a3}。在

相关问题 更多 >

    热门问题