今回は、Google Apps Scriptで任意の文字列を含んでいるかどうかを調べる方法についてご紹介します。
Google Apps Scriptでスプレッドシートを操作する際、文字列を含んでいるかどうかで処理を分岐させたりするケースは比較的多いように思われますので、非常に便利です。
任意の文字列を含んでいるかどうかを調べる
matchを使う
文字列が含まれているかどうかを調べるには、
match(文字列)
を使用します。
下記のサンプル1では、
str.match(/犬/)
で、変数strに「犬」という文字列が含まれていた場合はメッセージボックスに「犬です」と表示させ、
「犬」という文字列が含まれていない場合には、メッセージボックスに「犬ではありません」と表示させます。
ちなみに
/犬/
ですが、これは正規表現の単純なパターンで、変数strから直接「犬」という文字列を見つけるための正規表現となります。
・サンプル1
function myFunction() { var str = ‘柴犬’ //変数strに代入した文字列に「犬」が含まれている場合 Browser.msgBox(‘犬です’); } else { Browser.msgBox(‘犬ではありません’); } |
indexOfを使う方法
もう一つの方法は、
indexOf(文字列)
を使います。
indexOf()は、文字列が見つかれば見つかった場所の値を返し、文字列が見つからなければ-1の値を返します。
下記のサンプル2では、
str.indexOf(‘犬’) != -1
で、変数strに「犬」という文字列が含まれていた場合はメッセージボックスに「犬です」と表示させ、
「犬」という文字列が含まれていない場合には、indexOf()がー1の値を返すのを利用して、
メッセージボックスに「犬ではありません」と表示させています。
・サンプル2
function myFunction() { var str = ‘タマ’ //変数strに代入した文字列に「犬」が含まれている場合 Browser.msgBox(‘犬です’); } else { Browser.msgBox(‘犬ではありません’); } |
※その他の文字列操作についてはこちらの記事もご覧ください。