2009-10-13 19 views
2

我正在致力于盲文翻译库,并且需要将一串文本翻译成盲文。我打算在多次传递中做到这一点,但我需要一种方法来跟踪字符串的哪些部分已被翻译,哪些没有翻译,所以我不会重新翻译它们。编程成语在多次传递中解析字符串

我总是可以创建一个类,将跟踪其已处理字符串中的位置的范围,然后设计我的查找/替换算法忽略他们在随后的传球,但我想知道如果没有更完美的方式来完成同样的事情。

我会想象,多通字符串翻译并不是那么罕见,我只是不确定选择什么选项。

+0

你在不同行程执行什么样的任务?第二次传球任务是否足够不同以至于不会发生冲突?例如第一次传球,用替补字符替代拉丁文,第二传球,用短手替代长传的braille? – 2009-10-13 15:37:49

+0

有趣......我曾认为盲文是角色的性格,然后它会是一个简单的替代。情况并非如此? (只是好奇) – John 2009-10-13 15:45:56

+0

呵呵 - 我的盲文知识主要来自Charles Petzold的书“代码”,但我相信有缩写或惯例,可以有效缩短拼写,并且通常可以使脚本变得更加细致。 – 2009-10-13 15:48:03

回答

4

更常用的方法是标记输入,然后处理令牌。例如,首先将字符串标记为每个字符的标记。然后,在第一遍中生成一个简单的盲文映射,按令牌标记。在随后的过程中,您可以替换更多的令牌 - 例如,使用单个输出令牌替换输入令牌的序列。

因为您的令牌是对象或结构,而不是简单的字符,你可以将更多的信息给每个 - 如源标记()你翻译的(或者说,音译)从目前的令牌。

+0

非常感谢!我认为它可能会工作! – Aaron 2009-10-13 16:31:42

+0

让我想起了Limpel Ziv编码。 – easement 2009-10-13 20:06:13