Google Apps Scriptの文字列を指定文字で分割・区切る方法(splitメソッド)

2020年5月3日

Google Apps Script(GAS)で文字列を指定した文字で分割する方法を紹介します。

カンマ(,)やスペースで区切られた文字列などを分割する際に利用できます。

 

GASの文字列の分割はsplitメソッド

Google Apps Script(GAS) で文字列を分割、区切るには、splitメソッドを使用します。

splitメソッドは以下の構文で使用します。

String.split(“分割したい文字”)

splitメソッドを使って、文字列を「カンマ(,)」で分割するサンプルコードを紹介します。

Google Apps Scriptでsplitメソッドで文字列を分割するサンプルコード

function myFunction() {
//分割する文字列の変数を定義する
let text = "りんご,みかん,いちご,ぶどう";
Logger.log(text);
//text変数をカンマ(,)で配列に分割する
let splitText =text.split(",");
//配列に分割した結果を表示する
Logger.log(splitText);
}

上記のsplitメソッドのサンプルコードを実行すると、文字列が配列に分割された結果がログに出力されます。

GASでsplitメソッドを使ったサンプルコードの実行ログ

2回目のログ出力は[]で囲まれているため、配列として出力されています。

splitの区切り文字は1文字以上・正規表現でも可能

GASのsplitメソッドの区切り文字は、カンマ(,)やスペースの他に、複数文字も指定することができます。

そのため、CSVデータ以外などでも区切り文字となる文字が含まれていれば、splitメソッドによる分割が可能です。

さらに引数には正規表現も利用することができますので、複雑な条件で分割することもできます。

分割した配列の要素数はlengthプロパティで確認

なおGASでsplitメソッドで抽出し、得られた配列の要素数を確認するためには、lengthプロパティです。

let num = splitText.length; //先程の例では4.0

lengthで得られた配列の要素数をforループなどで処理することで、分割した文字を個々に処理することができます。

Google Apps Scriptのsplitメソッドで分割した要素数をlengthプロパティで確認、forループの処理を行うサンプルコード

このサンプルコードを実行すると、分割した要素ごとにログ出力を行うことができます。

Google Apps Script(GAS)のsplitメソッドのサンプルコードのログ出力

splitは第2引数に分割数の指定も

ここまではGASのsplitメソッドは引数を1つしか指定していませんでした。

ただ、第2引数として分割数を指定することができます。

let text = "りんご,みかん,いちご,ぶどう";
//text変数をカンマ(,)で3つの配列に分割する
let splitText =text.split(",",3);

この場合、前から区切り文字で文字列を分割し、3つ分割したところで終了します。

そのため、配列splitTextには[りんご,みかん,いちご]が格納され、文字列最後のぶどうは含まれなくなります。

まとめ・終わりに

今回、Google Apps Script(GAS) で文字列を指定した文字で区切り、分割する方法を解説しました。

GASではJavaScriptと同じようにsplitメソッドで配列として抽出します。

抽出した要素数はlengthプロパティで確認し、分割した文字列を処理することが可能です。

Csvデータやスペース区切り、タブ区切りの文字列を処理する際に、利用しましょう。