GASで文字列操作を極めろ!切り出し・結合・比較までのテクニック
GASを使って文字列操作を覚えたいんだけど、なんだか難しそうで…

猫男

catman
心配無用だ。catmanがじっくり教えるさ。
GASで文字列を切り出す方法
GASで文字列を切り出すことで、特定の部分を取り出せる。
GASでは、substring()メソッドが便利だ。
function cutString() {
var str = "Hello, GAS!";
var cutStr = str.substring(7, 10); // "GAS"
Logger.log(cutStr);
}
この例では、「Hello, GAS!」の文字列から「GAS」を切り出している。
str.substring(7, 10);
の7と10は、7文字目と10文字目ではない点に注意しよう。
それぞれの引数は「開始位置」と「終了位置」を表し、インデックス 7からインデックス 10 の手前 までを切り出すことを意味しているんだ。
“Hello, GAS!” の文字インデックスはこうなっているはずだ ↓
インデックス | 文字 |
---|---|
0 | H |
1 | e |
2 | l |
3 | l |
4 | o |
5 | , |
6 | (半角スペース) |
7 | G |
8 | A |
9 | S |
10 | ! |
G(7)〜S(9) が取得される結果、 "GAS"
と出力されるんだ。
おぉ、簡単に特定の位置から文字列を取り出せるんだね。

猫男
GASで文字列を結合する方法
文字列を結合したいときは、二つの方法がある。+演算子か、concat()メソッドだ。
+演算子で結合する
function joinString() {
var str1 = "Google";
var str2 = "Apps Script";
var combined = str1 + " " + str2; // "Google Apps Script"
Logger.log(combined);
}
concat()で結合する
function concatStrings() {
var str1 = "GAS";
var str2 = "is powerful!";
var combined = str1.concat(" ", str2); // "GAS is powerful!"
Logger.log(combined);
}
concatメソッドは配列同士を結合する時にもよく使われるぞ。
あわせて復習しておこう。

catman
これで文字列の結合も自在だな。
GASで文字列を検索・置換する方法
重複する文字や、特定の文字を検索・置換するのはプログラミングの基本。もちろん、GASでも実現できる。
文字列を検索する
function findIndex() {
var str = "Find the index of GAS.";
var index = str.indexOf("GAS"); // 16
Logger.log(index);
}
文字列を置換する
function replaceString() {
var str = "I love coding in JavaScript.";
var newStr = str.replace("JavaScript", "GAS");
Logger.log(newStr); // "I love coding in GAS."
}
んー、GASで検索したり置換したりも手間がかからないね!

猫男
GASで文字列を変換する方法
もちろん、GASではデータのタイプを変換できるぞ。
文字列 → 数値
function stringToNumber() {
var str = "123";
var num = Number(str); // 123
Logger.log(num);
}
文字列 → 日付
function stringToDate() { var strDate = "2023-12-01"; var date = new Date(strDate); Logger.log(date); }

catman
データの形式をうまく変換できれば、操作の幅が広がるさ。
GASで文字列を比較する方法
GASでは文字列を比較できるぞ。
function compareStrings() {
var str1 = "Hello";
var str2 = "World";
var areEqual = (str1 === str2); // false
Logger.log(areEqual);
}
今回は厳密等価演算子(===) を使って比較している。
「値」と「型」 の両方が同じかどうか比較して、一致すれば true、違えば falseだ。
詳しくは「GASの演算子」で復習しておこう。
あらためて見ると、GASでの文字列操作は奥が深いんだね…!

猫男
練習問題
- GASで「Hello GAS!」の文字列から「Hello」を切り出すスクリプトを書いてください。
- 「Welcome to GAS programming!」という文字列の「GAS」を「Google Apps Script」に置換してください。
解答と解説
問題1の解答と解説
function extractGAS() {
var str = "Hello, GAS!";
var extracted = str.substring(0, 5); // "GAS"
Logger.log(extracted);
}
substring()メソッドを使えば、文字列の指定した開始位置(H)から終了位置(,)の直前までの部分を返す。
問題2の解答と解説
function replaceGAS() {
var sentence = "Welcome to GAS programming!";
var newSentence = sentence.replace("GAS", "Google Apps Script");
Logger.log(newSentence); // "Welcome to Google Apps Script programming!"
}
replace()メソッドを使って、特定の文字列「GAS」を「Google Apps Script」に置き換える。