作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种相对简单的方法可以从希腊字符串中删除变音符号?例如,如果字符串是“Ο πανω όροφος”,我希望它变成“ο πανω οροφος”,仍然是希腊语,没有重音。我想避免字符串替换,因为它可能很慢,而且大多数类似问题的答案都使用 unidecode 将希腊字符转换为英语,我不希望这样。
最佳答案
Most official papers for anything need to have capitals only and without diacritics.
这个有用吗?
>>> 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)
'Ο πανω οροφος'
关于Python:删除希腊变音符号/口音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62896038/
我想解析以下 xml 结构: 为了解析这个 element name="?????? 结构,我按以下方式使用 XPath: XPath xPath
我在 OSX 机器上运行 Python 2.7。我正在尝试在 smb 共享上执行 os.walk。 for root, dirnames, filenames in os.walk("./test")
我是一名优秀的程序员,十分优秀!