Python:尽可能将 utf-8 字符翻译成拉丁字母

Python: Translate utf-8 characters as good as possible to latin letters

提问人:Uwe.Schneider 提问时间:4/4/2023 最后编辑:markalexUwe.Schneider 更新时间:4/5/2023 访问量:50

问:

我有一个包含许多 utf-8 字符的文本,例如 和 。šœÓ

关于如何将 utf-8 转换为 ascii,这个平台上有很多问题,重点是字节编码。

我想知道是否有一种方法可以在 python 中使用,将所有这些字符替换为

正则表达式模式范围内最相似的类似物 ( 或 ),即所有拉丁(希腊语)字母、数字和标点符号。[a-zA-Z0-9.,:?!@$€][α-ωΑ-Ωa-zA-Z0-9.,:?!@$€]

这将产生 , , .但š -> sœ -> oeÓ -> O† -> <nothing>

如果找不到密切关系,例如符号或笑脸,则应将其删除。

我知道,哪些字符可以相互识别是主观的,但也许有一个近似的解决方案。

python-3.x utf-8 ascii 规范化

评论

1赞 jsbueno 4/4/2023
SDLIB 函数可以帮助解决其中的一些问题,但您想要的某些字符不会分解为 ASCII 对应字符。unicodedata.normalize
1赞 InSync 4/4/2023
这个答案推荐了一些非常接近你想要的东西(它翻译为)。如果它对你来说足够好,删除不需要的字符应该是微不足道的。+
1赞 JosefZ 4/5/2023
这回答了你的问题吗?删除 Python unicode 字符串中的重音(规范化)的最佳方法是什么?

答: 暂无答案