前提・実現したいこと
GAS初心者です。Google App Scriptを使ってGmailから情報を抜き出し、抜き出したものをスプレッドシートに記録したいと思っています。金融機関から受信したメールの内容を抜き出したいのですが、一つのメール内に、 金融機関 楽天銀行 入金日 2020年12月14日 入金額 1,775円 金融機関 楽天銀行 入金日 2020年12月07日 入金額 2,000円 といった形で、同種の情報(入金日、入金額など)が複数入っています。 これをすべて抜き出すにはどうしたら良いでしょうか。
発生している問題・エラーメッセージ
一つのメールから同種の情報を複数抜き出すことができない。↓のvar date2の処理が失敗しました。
該当のソースコード
function MoneyForward() { var condition = 'subject:【Money Forward ME】入金のお知らせ; var start = 0; var max = 500; var threads = GmailApp.search(condition, start, max); var messages = GmailApp.getMessagesForThreads(threads); var body = messages[0][0].getBody(); var date1 = body.split('入金日</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">')[1].split('</td></tr><tr><td width="100" bgcolor="#f9f6f0" style="font-weight: bold;border:1px solid #eeeeee;padding:10px;text-align:left;">入金額</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">')[0]; var amount1 = body.split('入金額</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">')[1].split('</td></tr></table>')[0]; var date2 = body.split('円</td></tr></table><table width="500" style="font-size:1.1em;border:1px solid #eeeeee;border-collapse:collapse;margin-bottom:10px;"><tr><td width="100" bgcolor="#f9f6f0" style="font-weight: bold;border:1px solid #eeeeee;padding:10px;text-align:left;">金融機関</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">楽天銀行</td></tr><tr><td width="100" bgcolor="#f9f6f0" style="font-weight: bold;border:1px solid #eeeeee;padding:10px;text-align:left;">入金日</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">')[1].split('</td></tr><tr><td width="100" bgcolor="#f9f6f0" style="font-weight: bold;border:1px solid #eeeeee;padding:10px;text-align:left;">入金額</td><td style="border:1px solid #eeeeee;padding:10px;text-align:left;">')[0];
試したこと
splitを使って、入金日や入金額の前後で区切り、情報を抜き出そうと試みました。
ですが、最初の情報(上の例だと、12月14日と1,775円)のみしか抜き出せませんでした。