【问题标题】:Google Script check a column if contains a certain word谷歌脚本检查一列是否包含某个单词
【发布时间】:2023-04-08 14:12:02
【问题描述】:

我是 Google 脚本的新手。

我创建了一个脚本,其中 Google 电子表格应该连接到 GMail。一切运作良好。

我的问题是,我需要检查电子邮件内容是否包含“订单”一词。如果是,它应该得到单词“ORDER”和它后面的数字。

例如,一封电子邮件在邮件正文中包含“ORDER 90104”,则 Google 脚本应将 ORDER 90104 插入工作表的列中。示例电子邮件可能是:

您好,客户要求ORDER 90104。谢谢。

这甚至可能吗?到目前为止,我使用了getPlainBody(),并且可以获取电子邮件的所有内容并将其放在一个列中。我的计划是检查该列并查找 ORDER 一词。虽然我找不到/结束它的解决方案。

这是我获取前三封电子邮件的电子邮件内容的工作代码:

function getGMail() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var threads = GmailApp.getInboxThreads(0,3);
cell = sheet.getRange("A1");

for (var i = 0; i < threads.length; i++) {
    threadMessage = threads[i].getMessages();
    var emailContent = threadMessage[0].getPlainBody();
    cell.offset(i,0).setValue(emailContent);    
} 

}

任何建议或 cmets 将不胜感激。

谢谢!

【问题讨论】:

    标签: function gmail google-sheets


    【解决方案1】:

    你好,开发者小姐,

    由于您没有提供很多代码,所以我的回答会很短:是的,您可以这样做!
    如何:使用正则表达式:/ORDER [0-9]+/g.
    如何使用正则表达式:下面是示例代码

    var emailBody = yourMail.getPlainBody(); // supposing "yourMail" is the mail you retrieved
    var isThereAnyOrder = false;
    if(mailBody.search(/ORDER [0-9]+/g)>-1){
      isThereAnyOrder=true;
      var order=mailBody.match(/ORDER [0-9]+/g)>-1)[0];
      Logger.log(order);
      // do something with the order
      }
     else{
       // there is no order do nothing
     } 
    

    【讨论】:

    • 天啊,非常感谢你,哈罗德!我会试试这个。 :) 如果我有它的工作,我会更新你。
    • 嗨哈罗德,我将我的工作代码粘贴到我的问题上并尝试了你的答案。替换了一些变量等。但我在这里遇到错误: var order=mailBody.match(/ORDER [0-9]+/g)>-1)[0];它说缺少“;”。我检查了你的代码,它似乎不缺少任何;。有任何想法吗?谢谢你。 :)
    • 我的错... var order=mailBody.match(/ORDER [0-9]+/g)[0];会更好(我已经复制粘贴上面的行而没有重新阅读它......)。 ">-1)" 与那里无关。 [对不起]
    • 成功了!我对 RegExp 还一无所知,但正因为如此,我现在要研究它。非常感谢你,哈罗德!太棒了! :)
    • RegExp 对我来说非常痛苦,但我使用两个站点来构建和测试它们:jslab.dk/tools.regex.phpregexr.com
    猜你喜欢
    • 1970-01-01
    • 2018-04-17
    • 2013-12-29
    • 2020-07-06
    • 1970-01-01
    • 2012-03-26
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多