読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

String#gsub

JavaScript prototype.js

prototype.jsをインポートすれば、String#gsub()も使えるようになります。

  • 「gsub()」は「文字列のうち、正規表現にマッチする部分すべてを置換文字列で置き換える」関数です。
  • 置換文字列は正規表現の評価結果」をコンテキストとしたテンプレート文字列として評価されます。
    • なので、置換文字列内で「#{1}」とかすると最初の (...) に対応する文字列を参照できます。
    • 芸が細かいなー。
  • また、置換文字列として関数も指定でき、その場合関数の戻り値が置換文字列となります。
// 文字列
var str = "abcdabcdabcd";

// 置換する
out.innerHTML += str.gsub(/bc/, "xy" ) + "<br/>";

// テンプレートも使える
// コンテキストは正規表現の評価結果になる。
out.innerHTML += str.gsub(/(b.)/, "x#{1}y" ) + "<br/>";

// 関数も指定できる
// 引数で正規表現を評価した結果(string.match()の戻り値)が渡される
out.innerHTML += str.gsub(/b(.)/, function( match ){ 
  return "x" + match[1] + "y"; 
} ) + "<br/>";

実行結果はこちら