Python:删除希腊变音符号/口音

有没有一种相对简单的方法可以从希腊字符串中删除变音符号?例如,如果字符串是“Ο πανω όροφος”,我希望它变成“ο πανω οροφος”,仍然是希腊语,没有重音。我想避免字符串替换,因为它可能很慢,而且大多数类似问题的答案都使用 unidecode 将希腊字符转换为英语,我不希望这样。



侃侃无极
浏览 101回答 1
1回答

手掌心

大多数官方文件都需要只有大写字母且没有变音符号。这行得通吗?>>> import unicodedata as ud>>> s="Ο πάνω όροφος">>> d = {ord('\N{COMBINING ACUTE ACCENT}'):None}>>> ud.normalize('NFD',s).upper().translate(d)'Ο ΠΑΝΩ ΟΡΟΦΟΣ'使用 NFD 规范化将基本代码点与变音符号分开。翻译d表列出了 Unicode 序数翻译......在这种情况下,删除变音符号。我不熟悉希腊变音符号的用法,因此可能需要扩展该表。.replace('\u0301','')可以用于一种重音,但.translate()如果有多个替换则效率更高。跳过.upper()以匹配您的原始问题:>>> ud.normalize('NFD',s).translate(d)'Ο πανω οροφος'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python