【问题标题】:Extracting a string from gmail subject line从 gmail 主题行中提取字符串
【发布时间】:2021-11-23 19:44:31
【问题描述】:

我是编写 RegEx 和 Google Apps 脚本的新手,我正在解决一个简单的问题,将带有 X 标签的电子邮件中的电子邮件主题行中的特定字符串提取到 Google 表格中。我找到了一些关于如何完成这项工作的信息,但我没有在我的工作表中得到任何输出。我要提取的字符串的语法是(1 或 4)(A 或 P)(0-9)(另外四个字母数字字符)。例如 1A8D3KK、4P3A4EE 和 1A5T4EE。

这是我得到的:

function getEWO() {

  var ss = SpreadsheetApp.getActiveSheet();

  var label = GmailApp.getUserLabelByName("DamageClaims");
  var threads = label.getThreads();

  for (var i=0; i<threads.length; i++)
  {
    var messages = threads[i].getMessages()[0];

    for (var j=0; j<messages.length; j++)
    {
      var date = messages.getDate();
      var sub = messages[j].getSubject();
      var getEWOstring = new RegExp ("(1|4)(A|P)[0-9]\w{4}");
      console.log(getEWOstring);
      let ewo = getEWOstring.exec(sub)
      SpreadsheetApp.getActiveSheet().appendRow([ewo])
      var debugmessage = ("EWO " + ewo + " has been added")
      SpreadsheetApp.getActive().toast(debugmessage);
    }

它没有将任何内容输出到我的工作表中,也没有显示我的小调试器消息。

【问题讨论】:

    标签: regex google-apps-script google-sheets


    【解决方案1】:

    这对我有用:

    /(1|4)(A|P)\d[A-Z0-9]{4}/g

    【讨论】:

    • 感谢您的回复。不幸的是,我将我的 RegEx 更改为它,但它仍然没有将匹配的字符串放入我的工作表中。对这方面有什么想法吗?
    • 肯定有不止一个问题。也许是时候学习如何使用调试器工具了。
    猜你喜欢
    • 2021-07-30
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2023-01-16
    相关资源
    最近更新 更多