foreach char in string

时间:2014-11-30 23:04:15

标签: java javascript html css

我正在尝试在Javascript中实现以下Java选择,而且我现在有点难过......

爪哇:

String input = inputField.getText();

foreach (char c: input.toCharArray()){
    input = input.replace('a','1');
    input = input.replace('b','2');
    //and so on...
}
return input;
}

这是我尝试过的:

var input = document.getElementById('inputField').value; //input field is textarea

for(var i = 0; i < input.length; i++){
    for(input.charAt(i)){
        input = input.replace('a','1');
        input = input.replace('b','2');
    }
}
return input;
}

我也尝试了一些不同的变体,例如完全忽略循环而只是使用替换;然而,替换将按顺序触发,并且不会覆盖长多字节串的长度。

对此的任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

正如realUser404所说,您的代码无论如何也无法做到。

这是我在Javascript中想要的(将字符串中的每个字符串递增1)。

&#13;
&#13;
var inputString = "abcdefg",
    outputString = "";

for (var i = 0; i < inputString.length; i++) {
    outputString += String.fromCharCode(inputString.charCodeAt(i) + 1);
}
&#13;
&#13;
&#13;

答案 1 :(得分:0)

JavaScript中的replace函数只替换第一次出现。类似的帖子是How to replace all occurrences of a string in JavaScript?

你应该使用的是RegExp:

s = 'abcabc';
s = s.replace(/a/g, 'b');

点击此处的代码:JSFiddle