替换字符串中的多个内容

时间:2013-05-25 18:22:26

标签: string replace

我正在尝试为在线翻译的孩子制作某种密码语言。 但是,我偶然发现了一个问题。我将单词中的字母替换为A到Z.但是如果我有一个像“hi”这样的单词并且用'i'替换字母'h',代码将在到达'h'时看到“ii” ”。当然,它将用连接的字母替换我的两个。有没有办法阻止这种情况发生?

代码示例:

var tekst, tevertalen;

tevertalen = prompt("Geef je boodschap in: ",'Default');

...
tekst = tekst.replace("P","S");
tekst = tekst.replace("Q","T");
tekst = tekst.replace("R","A");
...

提前致谢!

1 个答案:

答案 0 :(得分:3)

逐个字符地迭代字符串并使用查找表:

var mapping = {
    'P': 'S',
    'Q': 'T',
    'R': 'A',
    ...
};

var encoded = '';
var plaintext = 'HI';

for (var i = 0; i < plaintext.length; i++) {
    encoded += mapping[plaintext.charAt(i)];
}