タグ

ブックマーク / itmst.blog71.fc2.com (1)

  • Electronic Genome - JavascriptのString.replaceに無名関数を渡して複雑な置換

    JavascriptでString.replaceに無名関数を渡して、後方参照や変数などを絡めて複雑な置換処理ができる。 ■サンプル 以下のサンプルは文字列「a=%a : b=%b : c=%c」の%付きアルファベットをキーとして連想配列namedから値を取得し、置換するものです。実行結果は「a=0 : b=1 : c=2」となります。 var named = {a:0,b:1,c:2}; //連想配列(Object) var str = 'a=%a : b=%b : c=%c'; //置換対象文字列 var reg = /%([a-c])/g; //正規表現オブジェクト生成 var result = str.replace(reg, function(whole,p1){ //無名関数定義 return named[p1]; //連想配列から値を取り出す } ); alert(resul

    rna
    rna 2011/05/02
    replace()の第二引数に関数を渡すとマッチするたび呼び出して戻り値を置換文字列にしてくれるので、マッチした文字列を利用するなどして置換文字列を動的に生成できる、という話。
  • 1