hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

JavaScriptのreplaceの関数オブジェクトを渡せることを知った

JavaScriptのreplaceの第2引数に関数オブジェクトを渡せることを知りました。

関数を渡すことで、ちょっと複雑な置き換えロジックを書くことができるみたいです。
単純なものしか書けませんがこんな感じで。

var str_befor = 'hogehoge foo bar hogehoge foo bar';

/* hogehoge foo bar hogehoge foo bar */
alert(str_befor);

var str_after = str_befor.replace(/hogehoge/g, function(m0){
return '<' + m0 + '>'; /* 1 -> 2 -> */
});

/* foo bar foo bar */
alert(str_after);

しばらく触っていなかったですが、JavaScript楽しいですね〜。