【GAS】文字列の結合
Google Apps Script(GAS)で複数の文字列を結合する方法をご紹介します。
配列同士の結合は下記の記事でご紹介しています。
GASで文字列を結合する方法2選
GASで文字列を結合する方法は下記の2つです。
- 「+」演算子による文字列の結合
- concatメソッドによる文字列の結合(連結)
「+」演算子による結合
String1+String2
String型の変数や文字列そのもの「+」演算子で記述することで文字列を結合できます。連続して記述することで、3つ以上の文字列も結合可能です。
let strA = 'これは';
let strB = 'ペン';
let strC = 'です。';
console.log(strA+strB+strC); // これはペンです。
文字列(String)と数字(Number)の結合時の違い
「+」演算子を用いる際、文字列の変数通しの場合は結合を表しますが、数字同士だと「足し算」を表します。数字を含め値同士の結合をしたい場合は、どの順序で結合するかによって挙動が異なるので注意しましょう。
let strA = 'リンゴが';
let numB = 1;
let numC = 2;
let strD = '個あります';
console.log(strA+(numB+numC)+strD); // リンゴが3個あります
console.log(strA+numB+numC+strD); // リンゴが12個あります
Numberを確実にStringとして結合したい場合は、先にString型に変換してしまうのがおすすめです。String(Number)で簡単に変換できます。
let numA = 12;
let numB = 34;
let numC = numA+numB;
let strD = String(numA)+String(numB);
console.log(numA); // 12
console.log(numB); // 34
console.log(numC); // 46
console.log(strD); // 1234
concatメソッドによる文字列の結合(連結)
String1.concat(String2[, String3, …, StringN])
GASにおける、もう一つのメジャーな文字列結合方法はconcatメソッドの利用です。もともとの文字列に対して、結合したい文字列を引数にしたconcatメソッドを記述すれば結合後の文字列が返されます。
let strA = '吾輩は猫である。';
let strB = '名前はまだない。';
let strC = strA.concat(strB);
console.log(strC); //吾輩は猫である。名前はまだない。
concatはString型にしか使えませんが、引数は数値でも問題なく勝手にString型に変換してくれます。わざわざ型変換が面倒な場合はconcatメソッドを使う方が楽かもしれません。
let strA = "ターゲット";
let numB = 1900;
let strC = strA.concat(numB);
console.log(strC); // ターゲット1900
ちなみに「concat」は「concatenate(連結)」の略で他の言語でもよく出てきます。
番外編
上記でご紹介した2つの手法がメインですが、状況によっては使えるかもしれないという番外編の手法を2つご紹介します。
「+=」代入演算子による結合
String1 += String2
「+」演算子を使った方法とほぼ同じですが、「+=」代入演算子を使う方法もあります。宣言する変数名が少なくて済むので、全体の記述をすっきりさせられるのがメリットです。
let strA = '吾輩は猫である。';
strA += '名前はまだない。';
console.log(strA); // 吾輩は猫である。名前はまだない。
繰り返し記述による結合
String.repeat(繰り返し回数)
まれかもしれませんが、特定の文字列を重ねて記述して一つの文字列にしたい場合もあります。その時はrepeatメソッドを使ってください。
let strA = "ズンちゃか";
console.log(strA.repeat(2)); // ズンちゃかズンちゃか
まとめ
文字列の結合について、代表的な方法を2つと番外編2つをご紹介しました。ぜひマスターしてみてください!
- 「+」演算子を使った方法
- concatメソッドを使った方法
- 「+=」代入演算子を使った方法
- repeatメソッドで文字列を繰り返して結合する方法