4

我需要学习如何将文本的音译更改为另一种书写系统。显然最好的方法会以某种方式涉及正则表达式和 perl,可能来自命令行?我之前一直在 Notepad++ 和 TextWrangler 中使用正则表达式,所以我已经了解了一些基础知识。如果有一些非常好的(并且相对容易和可定制的)方法可以在 Ruby 或其他东西中做到这一点,我也可以开始学习。在我的乌拉尔语言学领域中,一直需要音译语言示例文本,其中使用了许多不同的音译系统变体。所以值得投入一些时间。

所以我现在拥有的材料由每行一个句子组成。有些行还有其他数据,例如数字,但这些数据应该保持原样。我想保持标点符号原样,这只是将一组 unicode 字母字符转换为另一组。我搜索了该站点,但很多都是关于从 ascii 转换为 unicode 等等 - 这不是这里的问题。

所以原文是这样的(在广义的 Finno-Ugric Transcription 中):

mödis ivan velöććyny pećoraö ščötövödnej kurs vylö.

我需要这样的形式:

мӧдiс иван велӧччыны печораӧ щӧтӧвӧднэй курс вылӧ.

这持续了几千行。

使用的字符之间有明确的对应关系,但有时很复杂,首先需要处理一些二合字母和辅音+元音组合等。从示例中可以看出,在某些情况下,拉丁语 i 对应于西里尔字母 и 但在某些位置可以保持原样。不同的文本有不同的解决方案,所以我需要在每种情况下调整规则。我知道我需要以非常特定的顺序运行一长串正则表达式才能使其工作。这个顺序我会自己弄清楚,但我需要知道我在什么样的工具中输入了这些规则以及如何去做。

我也经常遇到这样的情况,我希望原始句子和音译一个由制表符分隔,以便这些行具有如下形式:

mödis ivan velöććyny pećoraö ščötövödnej kurs vylö.    мӧдiс иван 
велӧччыны печораӧ щӧтӧвӧдней курс вылӧ.

当然还有很多问题,但是在学习了这些基础之后,我想我可以独立前进了。学习这个对我有很大帮助。提前致谢!

尼可

4

0 回答 0