0

在本网站上查阅了多个答案后,我仍然无法找到如何在 Javascript 中替换字符串中的某些字符的解决方案。我尝试将 .replace() 与正则表达式一起使用,但无济于事。

对于上下文,这是我所拥有的:

var text = document.getElementById('text');
var button = document.getElementById('myBtn');

button.onclick = function() {
   var splitter = text.value.split(" ");
   for(var i=0; i < splitter.length; i++) {
  if(splitter[i].match("er$")) {
    splitter[i].replace(/er$/, "x"); <----The one line causing me insanity.

}
}
4

2 回答 2

2

javascript 中的字符串是不可变的,因此replace返回一个新字符串。

你可能想要

splitter[i] = splitter[i].replace(/er$/, "x");

另请注意,您不必测试它之前是否匹配,并且您可以在不拆分的情况下执行整个操作(通过使用\b带有此正则表达式的单词边界 : /er\b/g)。

于 2013-03-07T15:20:53.740 回答
0

您可以按照此处所述使用此技术:

如何在 JavaScript 中替换特定索引处的字符?

String.prototype.replaceAt=function(index, character) {
      return this.substr(0, index) + character + this.substr(index+character.length);
   }

并使用如下

var hello="Hello World";
alert(hello.replaceAt(3, "a"));
于 2013-03-07T15:21:58.450 回答