今回はGoogle Apps Scriptで文字列を区切る方法(区切り位置)についてご紹介します。
今回の例を読み進めるにあたり、配列についてある程度理解している必要がありますのでご注意ください。
splitで文字列を区切る
Google Apps Scriptでは、下記のスクリプトで文字列を区切る事ができます。
[区切りたい文字列].split(区切り文字)
下記のサンプル1では、実際に文字列を区切ってみます。
・サンプル1
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); //アクティブなスプレッドシートを取得 var str = “1,2,3,4,5”; Browser.msgBox(ary); sh.getRange(1, 1).setValue(ary[0]); //配列変数aryの1番目に格納されている値をセルA1に入力 } |
それでは上記のサンプル1についてご紹介しますと、
var str = “1,2,3,4,5”
では、今回区切りたい文字列「1,2,3,4,5」を変数strに代入しています。
var ary = str.split(‘,’);
では、変数strに代入した「1,2,3,4,5」という文字列を、split(‘,’)によりカンマで区切り、変数aryに代入しています。
ここで、本来は必要ないのですが、
Browser.msgBox(ary);
で、変数aryに何が代入されたのかをメッセージボックスで確認してみます。
一見何も変わってないように見えますが、実は区切られた文字列は、変数aryに配列としてそれぞれ分割して格納されています。
sh.getRange(1, 1).setValue(ary[0]);
sh.getRange(2, 1).setValue(ary[1]);
sh.getRange(3, 1).setValue(ary[2]);
sh.getRange(4, 1).setValue(ary[3]);
sh.getRange(5, 1).setValue(ary[4]);
では、配列変数aryに格納された、ary[0]~ary[4]までの値をセルA1~A5に記入しています。
配列からの値の取り出し方は色々考えられるかと思いますが、今回は区切られた文字がいくつあるかがあらかじめ分かっているため、シンプルに配列の番号を指定して値を取り出しています。
(一応ではありますが、配列は[0]から始まる([0]が1番目である)という事を忘れないようにしてください!)
しかしこのままでは、文字列を区切った後の配列数が事前に分からない場合に対処する事ができません。
そこで次回は、文字列を区切った後の配列数が事前に分からない場合の処理方法についてご紹介します。