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 に答える