Gmailを検索して必要なメールから文字を抜き出してチャットワークへ表示するコードを運用していたのだが、ちょっと前から抜き出した文字がnullになるようになってしまった。なんで?と思っていろいろ調べたのだけど、なかなか掴めず、対象の文字列を引用した返信メールからは取れる。カラーミーから直接送られたメールは取れない。という現象だった。文字コードか何かとは思ったが文字コードは同じ。
普段はGASのLogger.log()というログ表記を使っているが、これだとテキストしか表示されないのでconsole.log()を使って文字列を確認したら、取れないメールは改行コードが「\n」だった。。。取れるメールは「\r\n」。matchの正規表現で範囲を「\r」までに指定していた(だいぶ前に書いたので、なぜ両対応にしなかったのか忘れた)のが原因。
自分の未熟さゆえではあるけれど、なんで「\n」になった?フォームから送信するメールなのにそこがそう変わるとはなかなか考えられないが、、、ひとまず対処はできたのでいいか。
改行コードを指定する時は「\n」と「\r\n」の両対応で
match(/文字列.*\r?\n/)