javascript 正規表現置換でカウンターを貼り付けるにはどうすればよいですか?
Perl/PCRE については、こちらの質問に回答しています。
私は明らかな を試しましたがstring.replace(/from/g, "to "+(++count))
、これは良くありません (++count は string.replace の開始時に一度評価されるようです)。
javascript 正規表現置換でカウンターを貼り付けるにはどうすればよいですか?
Perl/PCRE については、こちらの質問に回答しています。
私は明らかな を試しましたがstring.replace(/from/g, "to "+(++count))
、これは良くありません (++count は string.replace の開始時に一度評価されるようです)。
マッチごとに呼び出される関数を replace に渡すことができます:
// callback takes the match as the first parameter and then any groups as
// additional, left it empty because I'm not using them in the function.
string.replace(/from/g, function() {
return "to " + (++count);
});
これは、クライアント側で複雑な文字列部分 (埋め込みコードを含むユーザー コメントなど) を置き換えて、サーバーの負担を少し軽減するのに非常に便利なツールであることがわかりました。
コールバックを使用するとうまくいくかもしれません:
var i = 0;
string.replace(/from/g, function(x){return "to " + i++;})
乾杯。