GASでのワイルドカード活用術:IFとREPLACEを使いこなす方法
GASでワイルドカードを使う方法ってあるのかな?IFやREPLACEで上手くデータを操作したいんだ…

猫男

catman
そんなことならcatmanに任せろ。GASでのワイルドカードの使い方を教えてあげよう!
GASでのワイルドカードの基本
GAS(Google Apps Script)では、ワイルドカードの直接のサポートはないが、正規表現を使うことで似たような効果を実現できる。まずはその基礎を抑えていこう。
正規表現とワイルドカードの違い
ワイルドカードは「任意の文字列を表す記号」のことを指す。ファイル検索などで使われるが、GASでは正規表現を用いて柔軟なパターンマッチを行う。
基本的な正規表現の使い方
GASでの正規表現は以下のように使用する。
function searchString(str) {
var regex = /cat.*/;
if (regex.test(str)) {
Logger.log("マッチしました: " + str);
} else {
Logger.log("マッチしませんでした: " + str);
}
}
これは”cat”で始まる文字列を探し出すサンプルだ。
GASでIFにワイルドカードを使う
IF文でワイルドカード的な動作を再現するには、やはり正規表現が鍵になる。
IF文と正規表現
IF文に条件式として正規表現を用いてみよう。
function checkPattern(input) {
if (/^cat.+/i.test(input)) {
Logger.log("パターンに一致しました。");
} else {
Logger.log("一致しませんでした。");
}
}
このコードは、”cat”で始まり、その後に文字が続くかどうかをチェックする。
正規表現って、想像以上に便利なんだね!IF文と組み合わせることで強力なチェックができるんだね!

猫男
GASでREPLACEにワイルドカードを使用する
文字列の置換。ここでも正規表現が役に立つ。
正規表現とREPLACE
置き換え手法を見てみよう。ワイルドカードのように正規表現を使って柔軟に文字列を置換する。
function replaceStrings(input) {
var newStr = input.replace(/cat/gi, "dog");
Logger.log("新しい文字列: " + newStr);
}
このコードは、”cat”を”dog”に置き換える例だ。
なるほど!これで大量の文字列も一発で置き換えができるんだね!

猫男
まとめ:GASでのワイルドカード活用術
- GASでのワイルドカードの利用には正規表現を使うことがポイント。
- IF文やREPLACE関数と組み合わせてデータ操作を強化できる。
- 正規表現をマスターすれば、検索や置換の処理が飛躍的に便利になる。
今日はワイルドカードを自在に使いこなせるようになった気がするよ!catman、ありがとう!

猫男
練習問題
以下のコードを完成させて、”catnap”という文字列が含まれる場合に”dognap”に置き換えるスクリプトを書いてみましょう。
function swapAnimals(sentence) {
// ここにコードを追加
Logger.log(sentence);
}
var text = "I need to take a catnap.";
swapAnimals(text);
解答・解説
function swapAnimals(sentence) {
var newSentence = sentence.replace(/catnap/gi, "dognap");
Logger.log(newSentence);
}
var text = "I need to take a catnap.";
swapAnimals(text);
解説:
– この関数では、replaceメソッドを用いて、”catnap”を”dognap”に置き換える。
– 正規表現の/i/が、大小文字を区別しない置換を可能にしている。