当字母表有重复字母时,反转字母替换

时间:2015-01-13 14:33:52

标签: algorithm

我有这个字母替换字母表,我需要能够将替换字母改回英语。问题是字母表包含重复,这使得它们变得模糊不清。这是用于比较的字母表:

a:e
b:f
c:s
d:n
e:a f:ll
g:r
h:h
我:ai
j:sh
k:c
l:r
m:n
n:l
o:你们 p:f
问:w
r:s
s:r
t:d
你:我 v:y
w:w
x:z
y:irr
z:n

正如您所看到的,不仅几个替换品使用相同的字母,而且它们甚至不是所有相同数量的字符。我应该如何撤销替换?

1 个答案:

答案 0 :(得分:1)

我认为解决这个问题的方法是使用某种中间的,分隔的阶段。因此,您可以将字符串存储在以下行中:

<root>
    <source>LanguageA</source>
    <target>LanguageB</target>
    <content> 
         [a][ll][ai]...
    </content>
</root>

执行翻译的模块会查看sourcetarget种语言,并使用[]作为分隔符,您可以浏览并转换每个token(结果仍然是分隔的字符串。最后你需要另一个清理输出的模块,以便它可以干净地呈现。