GAS split 文字列を分割して配列にする(Google Apps Script)

概要 splitとは(文字列を分割して配列にする)
区切り文字  カンマで区切る
  半角スペースで区切る
  タブで区切る
  スラッシュで区切る
  改行で区切る
  ドットで区切る
  空文字で区切る(1文字ずつ配列にする)
  末尾が区切り文字の時、最後は要素になる?
正規表現 正規表現で区切り文字をORで指定
2つ目の引数 取得する要素数を指定

splitとは(文字列を分割して配列にする)

分割したい文字列.split ([区切り文字 or 正規表現 [ , 数値] ] );
  • splitは、文字列を分割して配列を返します。
  • 1つ目の引数は、区切り文字の場合は、文字列を区切り文字で区切ります。
    正規表現の場合は、文字列を正規表現で区切ります。
  • 2つ目の引数の数値は、分割する数を指定します。省略可能です。

 

カンマで区切る

function testScript() {
	const str1 = "赤,黄,青";
	const c1 = str1.split(",");
	
	for (let i = 0; i < c1.length; i++) {
		console.log(c1[i]); // 赤 黄 青が出力される
	}
	console.log(c1); //['赤', '黄', '青']
}

3行目は、文字列をカンマ区切りで配列にしています。

 

半角スペースで区切る

function testScript() {
	const str1 = "赤 黄 青";
	const c1 = str1.split(/\s/);
	
	for (let i = 0; i < c1.length; i++) {
		console.log(c1[i]); // 赤 黄 青が出力される
	}
	console.log(c1); //['赤', '黄', '青']
}

3行目は、文字列を半角スペースで区切って配列にしています。(バックスラッシュ(円記号)+S)

 

タブで区切る

function testScript() {
	const str1 = "赤	黄	青";
	const c1 = str1.split(/\t/);
	
	for (let i = 0; i < c1.length; i++) {
		console.log(c1[i]); // 赤 黄 青が出力される
	}
	console.log(c1); //['赤', '黄', '青']
}

3行目は、文字列をタブで区切って配列にしています。(バックスラッシュ(円記号)+t)

 

スラッシュで区切る

function testScript() {
  const str1 = "2020/05/21";
  const c1 = str1.split("/");

  for (let i = 0; i < c1.length; i++) {
    console.log(c1[i]); // 2020 05 21
  }
  console.log(c1); //["2020", "05", "21"]
}

区切り文字は、文字としてのスラッシュを指定します。

 

改行で区切る

function testScript() {
  const str1 = "赤と黄\r\n青と緑";
  const c1 = str1.split(/\r\n|\n/);

  for (let i = 0; i < c1.length; i++) {
    console.log(c1[i]); // 赤と黄 青と緑
  }
  console.log(c1); //['赤と黄', '青と緑']
}

\r\nは復帰改行(CRLF)、\nは改行(LF)です。パイプ(|)は正規表現でorを意味します。

 

ドットで区切る

function testScript() {
  const str1 = "test.txt";
  const c1 = str1.split(".");

  for (let i = 0; i < c1.length; i++) {
    console.log(c1[i]); // test txt
  }
  console.log(c1); //['test', 'txt']
}

区切り文字は、文字としてのドットを指定します。

 

空文字で区切る(1文字ずつ配列にする)

function testScript() {
  const str1 = "あいうえお";
  const c1 = str1.split("");

  console.log(c1); //['あ', 'い', 'う', 'え', 'お']
}

splitメソッドの引数が空文字の場合、1文字ずつの配列になります。

 

末尾が区切り文字の時、最後は要素になる?

function testScript() {
  const str1 = "a,b,c,,";
  const c1 = str1.split(",");

  console.log(c1); //['a', 'b', 'c', '', '']
}

2行目は、末尾がカンマで終わっています。
splitの引数にカンマ(',')を指定した場合、空文字も要素として取得します。
5行目は、aとbとcと空文字2つ('')が表示されています。

 

正規表現で区切り文字をORで指定

function testScript() {
	const str1 = "あ,い:う,え";
	const c1 = str1.split(/[,:]/);

	console.log(c1); // ['あ', 'い', 'う', 'え']
}

3行目の[,:]は、カンマ(,)またはコロン(:)という正規表現です。

 

取得する要素数を指定

function testScript() {
	const str1 = "あ,い,う,え";
	const c1 = str1.split(",",2);
	
	console.log(c1); // ['あ', 'い']
}

3行目は、2つ目の引数が2なので戻りの配列の要素数は2つです。

正規表現の一覧表

関連の記事

GAS replace 文字列を置換する(Google Apps Script)

△上に戻る