JavaScript replace 全て - 文字列中のある文字のすべてのインスタンスを置換する最速の方法

javascript 文字列 削除 / javascript / string / replace

JavaScriptで文字列内の文字列/文字のすべてのインスタンスを置き換える最も速い方法は何ですか? whilefor -loop、正規表現?

thorn̈



Answer #1
//検索、置換、ケース
//つまり、「これが機能するかどうかをテストしますか?(はい|いいえ)」。replaceAll( '(はい|いいえ)'、 'はい!');
// ie2 "これが機能するかどうかをテストしますか?(はい|いいえ)"。replaceAll( '(はい|いいえ)'、 'はい!'、true);
String.prototype.replaceAll = function(_f, _r, _c){ 

  var o = this.toString();
  var r = '';
  var s = o;
  var b = 0;
  var e = -1;
  if(_c){ _f = _f.toLowerCase(); s = o.toLowerCase(); }

  while((e=s.indexOf(_f)) > -1)
  {
    r += o.substring(b, b+e) + _r;
    s = s.substring(e+_f.length, s.length);
    b += e+_f.length;
  }

  //残り物を追加します
  if(s.length>0){ r+=o.substring(o.length-s.length, o.length); }

  //新しい文字列を返します
  return r;
};