Gmailの本文に複数出てくる文字列をスプレッドシートに送り出したいです。
現在、一つは抽出できるのですが、二つ目以降のデータを出すにはどうすればいいですか?
Gmail
商品名 : バナナ
発送予定:2020年4月20日 から順次発送
価格 : 200円
個数 : 1個
小計 : 200円
商品名 : リンゴ
発送予定:2020年4月20日 から順次発送
価格 : 200円
個数 : 1個
小計 : 200円
上記メールで、商品名・個数の部分を抽出したいです。
function RegExpForm() { var sheet = SpreadsheetApp.getActiveSheet(); var thds = GmailApp.search('label:"商品購入通知" is:unread ', 0, 20); var messe = GmailApp.getMessagesForThreads(thds); for(var i = 0; i < messe.length; i++) { for(var j = 0; j < messe[i].length; j++) { var date = thds[i].getMessages()[j].getDate(); var body = messe[i][j].getPlainBody(); var regBiz = new RegExp('注文ID : ' + '.*?' + '\r' ); var Biz = body.match(regBiz)[0].replace('注文ID : ', '').replace('\r', ''); var regGoods = new RegExp('商品名' + '[\s\S]*?' + '\r' ); var Goods = body.match(regGoods)[0].replace('商品名 : ', '').replace('\r', ''); var regKosu = new RegExp('個数 : ' + '.*?' + '\r' ); var Kosu = body.match(regKosu)[0].replace('個数 : ', '').replace('\r', '').replace('個',''); var res = body.split('/\r\n|\r|\n/'); sheet.appendRow([date, Biz, Goods, Kosu]); thds[i].markRead(); } } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。