前提・実現したいこと
GASで、Gmailから下記のようなメールを読み込み、
スプレッドシートにお問い合わせ/日時/件名/本文/リンク の列ごとに書き出すプログラムを作成しています。
==================================
[お問い合わせ]【yyyy/mm/dd hh:mm】【件名】
本文: (~~~文章~~~)
メールリンク: http:~~
==================================
本文を、以下の正規表現でmatchを使って取得すると本文:の部分も取得されてしまいます。
そのためsliceを使って余分を切り捨てたいのですが、エラーが発生してしまいます。
本文:.*[\s\S]*メールリンク:
「本文:」~ 「メールリンク:」の間だけを抜き出すことはできますでしょうか?
発生している問題・エラーメッセージ
下記のようなエラーが発生します。
TypeError: Cannot read property 'slice' of null
該当のソースコード
var myMsgs = GmailApp.getMessagesForThreads(myThreads); //スレッドからメールを取得する →二次元配列で格納
var valMsgs = [];
/* 正規表現 */
var reg = /本文:.*[\s\S]*メールリンク:/;
for(var i=0;i<myMsgs.length;i++){
for(var j=0;j<myMsgs[i].length;j++){
var body = myMsgs[i][j].getBody(); var honbun4 = body.match(reg); honbun4 = honbun4.slice(3,3);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/01 23:26
2020/11/01 23:31 編集
2020/11/01 23:33
2020/11/02 00:57