質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

解決済

GASの正規表現で特定の文字以降を取得したい

faipaspijfasjf
faipaspijfasjf

総合スコア225

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

3回答

0評価

0クリップ

5752閲覧

投稿2021/06/21 06:52

編集2021/06/21 12:47

https://tonari-it.com/gas-regexp-replace-new/ を参考にしています。

// やりたいこと var id = plainBody.match(/ID : (.*)/); console.log(id); // ID :92829184129492 の `ID :`を削除 or `ID :`以降を取得したいです

正規表現 + replaceで書いてみたら TypeError: plainBody.match(...).replace is not a function とエラーが出てします。

var companyName = plainBody.match(/会社名 : (.*)/).replace("会社名 : ", "");

正規表現単体で文字列は取得出来ています。
会社名 : 株式会社テラテイル

function myFunction() { // 検索条件に該当するスレッド一覧を取得 var threads = GmailApp.search('subject:【会社名】問い合わせありがとうございます'); // スレッドを一つずつ取り出す threads.forEach(function(thread) { // スレッド内のメール一覧を取得 var messages = thread.getMessages(); // メールを一つずつ取り出す messages.forEach(function(message) { // メール本文を取得 var plainBody = message.getPlainBody(); var id = plainBody.match(/ID : (.*)/); var companyName = plainBody.match(/会社名 : (.*)/); var personName = plainBody.match(/担当者名 : (.*)/); var serviceName = plainBody.match(/サービス名 : (.*)/); var date = message.getDate() var sheet = SpreadsheetApp.getActive().getSheetByName('シート1'); date = Utilities.formatDate(date,"JST", "yyyy/MM/dd"); console.log("dateは" + date); var lastRow = sheet.getLastRow() + 1; // セルを取得して値を転記 sheet.getRange(lastRow, 1).setValue(id[0]); sheet.getRange(lastRow, 2).setValue(companyName[0]); sheet.getRange(lastRow, 3).setValue(personName[0]); sheet.getRange(lastRow, 4).setValue(serviceName[0]); sheet.getRange(lastRow, 5).setValue(date); console.log("date②は" + date); }); }); }
// gamail 件名:【会社名】..問い合わせありがとうございます 日時:timestamp 本文 ID : 92829184129492 会社名 : 株式会社teratail 担当者名 :テラ・テイル サービス名 : 有料サービスA テキストテキストテキスト... テキストテキストテキスト... テキストテキストテキスト...

特定の文字列削除はreplace以外で行うのでしょうか。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。