GmailからGASを使って特定の部分を抜き出す方法をしりたいです
抜き取りたいのは以下のOOOOOOOOO部分です。
商品 :
------------------------------------------------------------------
OOOOOOOOO
メールではこのように商品:の後に点線を挟んで商品名が来ます。matchメソッドを使用し、ほかの部分は抜き出せるのですが、商品の後に商品名が来ない仕様になっているので抜き出し方がわからないです。さらにいろいろな種類の商品があり、matchメソッドを使ってもスプレッドシートが横に広がるだけです。なのでOOOOOOOの特定の行だけを抜き出す方法が知りたいです。
点線の後に来る行 (実際の商品名) を指定して、抜き出しスプレッドシートに書き込ませたいです。
使用しているスクリプトは以下の通りです:
function fetchContactMail() {
var strTerms = '(is:unread "OOOOOOOOOO")';
var myThreads = GmailApp.search(strTerms, 0, 10);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var valMsgs = [];
for(var i = 0;i < myMsgs.length;i++){
valMsgs[i] = [];
valMsgs[i][0] = myMsgs[i][0].getDate();
valMsgs[i][1] = myMsgs[i][0].getFrom();
valMsgs[i][2] = myMsgs[i][0].getSubject();
valMsgs[i][3] = myMsgs[i][0].getPlainBody().match(/OOOOOO(.+)/);
valMsgs[i][4] = myMsgs[i][0].getPlainBody().match(/OOOOOOO(.+)/);
valMsgs[i][5] = myMsgs[i][0].getPlainBody().match(/OOO(.+)/);
valMsgs[i][6] = myMsgs[i][0].getPlainBody().match(/OOOO(.+)/);
valMsgs[i][7] = myThreads[i].getPermalink();
myMsgs[i][0].markRead();
}
if(myMsgs.length>0){
var mySheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('OOO');
var maxRow=mySheet.getDataRange().getLastRow();
mySheet.getRange(maxRow+1, 1, i, 9).setValues(valMsgs);
}
}