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以外で行うのでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/06/22 05:08