0

你知道是否有任何 linux 程序可以从外来词列表中删除重音(在 utf8 中)?比如西班牙语、捷克语、法语。例如:

administrátoři (捷克) administratori
français (法语) francais
niñez (西班牙语) Ninez 等

我知道我可以使用 sed 手动完成,但考虑到我正在研究多种语言,这相对耗时。我认为可以做到这一点的程序可能已经存在。

4

2 回答 2

2

您想要的称为Unicode 分解- Unicode 组合的逆过程(将基本字符与变音符号组合在一起)。有许多相关的 SO 问题使用:

  1. JavaScript
  2. 动作脚本
  3. Python

您可以将其用作起点。

Python 存储库具有unicodedata.decomposition返回分解的映射。

您的系统可能也有iconv适当的规范化,它也可能让您到达那里!

于 2012-06-14T05:09:54.803 回答
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.
于 2015-02-27T14:19:47.590 回答