'subject:テスト from:xxxxx@gmail.com after:2019/10/24'. photo credit: Symic 000ElmTreeVitality via photopin (license), Google Apps Scriptでフォーム送信メールからデータを抽出してスプレッドシートに登録するツールを作成しております。, 例えば「名前:鈴木」「年齢:30才」という文字列のパターンを拾うことができましたが、本当に欲しいのは「鈴木」だったり、「30」だったりするわけですね。, ですから、正規表現で文字列を抽出した場合は、いらない部分をザクザク削る処理が必要になるのが一般的です。, ということで、今回はGASで正規表現で抽出した文字列から、欲しいデータのみを取り出す方法をお伝えします。, 冒頭に用意したstrはメール本文を意識した文字列ですが、そこから以下を抽出することができます。, 今回は、ここから「鈴木」または「30」だけを残して不要な部分を削っていく処理を作っていきたいと思います。, 本来、replaceメソッドは文字列の部分文字列を置換するメソッドで以下のように書きます。, この置換文字列を空文字(”)とすることで、部分文字列の削除と同様の処理となるというわけです。, matchメソッドの後の部分で「[0]」としているのは、配列から最初の要素を取り出すためです。, ですが…ちょいと冗長ですよね。同じような処理が続いちゃっているので、整理していきましょう。, その事前準備として、正規表現の生成方法として、正規表現リテラルとは別の方法をお伝えしておきます。, JavaScriptで正規表現はRegExpオブジェクトというオブジェクトですので、newキーワードで生成をすることができます。, 引数の正規表現は文字列で指定できますので、変数を使うことができます。フラグは前回の記事でお伝えしたものと同じです。, それを踏まえて、文字列strから最初の文字列preではじまり、最後の文字列sufで終わるというパターンマッチを抽出し、さらに必要なデータのみを取り出す関数fetchDataを作りました。, 以上、Google Apps Scriptで正規表現でマッチした文字列から不要な部分を削除する方法についてお伝えしました。, ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。, Google Apps Scriptで正規表現を使って必要な情報を抽出する最も簡単なスクリプト, Google App Scriptを使ってGmailで届いたフォーム送信情報をスプレッドシートに蓄積する方法の初回。正規表現とは何か、またGASで正規表現により文字列を抽出する最も簡単なスクリプトを紹介します。, Google Apps ScriptでGmailの受信メールから正規表現でデータを抽出する, Google Apps Scriptでフォーム送信メールからデータを抽出してスプレッドシートに登録するツールを作成しています。今回はGmailに届いたメールから正規表現でデータを抽出するスクリプトを紹介します。, GASによるマネーフォワードクラウド請求書APIの操作についてできる限りていねいに紹介をするシリーズです。今回は、マネーフォワードクラウド請求書APIによる請求書一覧のデータを読み取っていきます。, GASでV8ランタイムがサポートされたことにより、ECMAScriptの構文が使用できるようになりました。今回は、GASのプロジェクトについてV8ランタイムに切り替える方法についてお伝えしていきます。, 初心者向けのシリーズとしてGoogle Apps Scriptで名言Botの作り方を解説しております。今回は、GASでPropertiesサービスを使ってスクリプトプロパティからデータを取り出す方法です。, GASユーザーのためのHTML入門、簡単なWebページの作り方をお伝えしています。今回は、GASとBootstrapでWebページを簡単にいい感じのレイアウトにする方法。ジャンボトロンとコンテナを使います。, 初心者向けGoogle Apps ScriptによるWebアプリケーションの作り方シリーズです。今回はWebページにGASのスクリプト自体の埋め込む方法についてです。二種のスクリプトレットタグを使います。, 当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。, マネーフォワードクラウド請求書の請求書一覧の全件をスプレッドシートに書き出すスクリプト, GASでマネーフォワードクラウド請求書の請求書一覧をスプレッドシートに書き出す方法. Google Apps Scriptでは色々な方法で文字列から文字を切り出すして取得する事ができますが、今回はsliceを使って文字列から文字を切り出す方法についてご紹介します。 今回の記事ではGoogleAppsScriptを使い、Gmailの本文を抜き出して、スプレッドシートに出力する方法を紹介します。Gmail本文の一部を抽出してスプレッドシートに出力するサンプル次のようなメールの内容からそれぞれ、注文番号・商 変数strに代入する文字列を馬に変更した場合、メッセージボックスには「馬である」と表示されます。 変数strに代入した文字列が猫でも馬でもない場合、メッセージボックスには「猫でも馬でもない」と表 … 列14に入力されている文字列が”未”だったら、1,2,4,5,6,7,13,15を別シートの最終行に追加していきたいというイメージです。 1行づつ追加ではなく2次元配列でごっそりまるごとセットすればというとこまでは考えられるんですが、実現方法がわかりません。 今回の記事ではGoogleAppsScriptを使い、Gmailの本文を抜き出して、スプレッドシートに出力する方法を紹介します。, このサンプルを動かすと、特定の件名・メールアドレスから受信して、2019/10/24以降に受信したメールの内容からXXX、YYY、ZZZを取ってきてスプレッドシートへと出力します。, あなた宛てのGmailにはいろいろなメールが飛んできているかと思います。特定のメールに対して処理をしたい場合には、GmailApp.searchを使って絞り込んであげる必要があります。, 他にも絞り込む方法やGmailApp.searchでの使い方の注意点をこちらにまとめています。, 本文の一部を抽出したい場合にはmatchを使ってあげる必要があります。matchは条件に合致した部分の文字列を取ってくることができます。取ってきたい文字列が固定であれば正規表現を使う必要はありませんが、注文番号から始まる後ろの値が取りたいなど、何かしら固定されている後ろの文字列を取ってきたい場合に正規表現が活躍します。, getPlainBody()で本文全文を取ってきてあげて、plainBody.match()のところでとってきています。, 注文番号.となっていますがこれは注文番号と始まり改行までを取ってきてくれるといった書き方になります。なので、plainBody.match(/注文番号./)[0]では「注文番号:XXX」が取得されます。注文番号:という文字列が邪魔なので、replaceを使って消してあげています。, 今回はサンプルなので、一例でしたが正規表現はいろいろありますので、こちらの記事を参考にしてください。, スプレッドシートに出力するには、getRange等を使ってやる方法もありますが、今回はシンプルに最終行にひたすら追加していくappendRowを使用しています。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 普段はデータエンジニアとして働いており、PythonやGASの情報を中心に発信しています。, ココナラで8basetechというユーザー開発の依頼を受けたりもしています。 サービス内容をみる, 【GAS】GmailApp.searchを使ってGmailをさまざまな条件で取得する使い方. こんにちは、ライターのマサトです! 今回は、文字列を「分割(切り出し)」する方法を学習します!JavaScriptにおける「分割(切り出し)」方法は、いろいろなメソッドが用意されており、それぞれ使い方や活用方法、注意するべきポイントなどが異なります。 Copyright © 2015-2020 いつも隣にITのお仕事 All Rights Reserved. GoogleAppsScript完全入門 ~GoogleApps & G Suiteの最新プログラミングガイド~, VBAやGoogle Apps Scriptのツール開発と研修をセットで依頼される企業が増えている理由, 「名前:」ではじまって「r」(復帰)で終わる文字列のパターン、つまり「名前:鈴木n」. 1. Copyright © 2018 エイトベース All Rights Reserved. 目次. Google Apps Scriptで正規表現でマッチした文字列から不要な部分を削除する, Google Apps Scriptでメールから正規表現で抽出したデータをスプレッドシートに蓄積する方法, Google Apps Scriptでスプレッドシートの列データを配列として取得する方法, GASでフォーム送信メールからデータを取得してスプレッドシートに蓄積するツールの完全版, 詳解! 正規表現…なんか、プログラミングっぽくない名称ですが、簡単にいうと文字列のパターンを表現するための手法のことです。 例えば、Excelではアスタリスク(*)を使って「東京都*」とすれば、「東京都ではじまる任意の文字列」という「パターン」を表すことになります。 正規表現はもっと色々な文字(メタ文字といいます)を使って様々なパターンを表現することができる表現方法です。 そして、Google Apps Scriptをはじめ、 … GASの文字列切り出し・抽出には3種類のメソッド; 2. slice,substring,substrの構文 3. slice,substring,substrの例文(サンプルコード) 4. sliceとsubstringの挙動の違いを解説 4.1. 今回の記事では、文字列や配列の検索時に使うindexOfについて、使い方から、事例を踏まえながら解説していきます。GASのindexOfメソッドとはindexOf関数とは文字列や配列において、検索したい要素が配列内の先頭から何番目にあるかを Google Apps Scriptでフォーム送信メールからデータを抽出してスプレッドシートに登録するツールを作成しております。今回はGASで正規表現で抽出した文字列から、欲しいデータのみを取り出す方法です。 引数start,endに負の数が含まれている場合. 4.1.1. substringは負の数の引数を0とする 4.1.2. sliceは負の引数を末尾からの文字数とする