我正在尝试在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;
}
我也尝试了一些不同的变体,例如完全忽略循环而只是使用替换;然而,替换将按顺序触发,并且不会覆盖长多字节串的长度。
对此的任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
正如realUser404所说,您的代码无论如何也无法做到。
这是我在Javascript中想要的(将字符串中的每个字符串递增1)。
var inputString = "abcdefg",
outputString = "";
for (var i = 0; i < inputString.length; i++) {
outputString += String.fromCharCode(inputString.charCodeAt(i) + 1);
}
&#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。