你知道是否有任何linux程序可以删除外来词列表中的重音(在utf8中)?像西班牙语,捷克语,法语。例如:
administrátoři(捷克语)administratori
français(french)francais
niñez(西班牙语)ninez等。
我知道我可以用sed手动完成它,但考虑到我正在使用很多语言,这是相对耗时的。我认为一个可以做到这一点的程序可能已经存在了。
答案 0 :(得分:2)
您想要的是 Unicode分解 - Unicode组合的反向过程(将基本字符与变音符号组合在一起)。有许多相关的SO问题使用:
您可以将其作为起点。
Python存储库有unicodedata.decomposition
,它返回一个分解的映射。
您的系统可能还有iconv
和suitable规范化,它也可能会让您到达那里!
答案 1 :(得分:0)
您是否尝试使用重新编码(https://github.com/pinard/Recode/)?它会在努力保存信息时删除重音,也可以生成用C表示的xlat表。
$ cat testfile
administrátoři (czech) administratori
français (french) francais
niñez (spanish) ninez etc.
$ LANG= recode -f UTF-8..texte <testfile
administrtori (czech) administratori
franc,ais (french) francais
niez (spanish) ninez etc.