Function 谷歌脚本检查一列是否包含某个单词

Function 谷歌脚本检查一列是否包含某个单词,function,gmail,google-sheets,Function,Gmail,Google Sheets,我不熟悉谷歌脚本 我创建了一个脚本,谷歌电子表格应该连接到GMail。一切都很顺利 我的问题是,我需要检查电子邮件内容是否有“订单”字样。如果是,它应该得到单词“顺序”和后面的数字 例如,邮件正文中包含“订单90104”,那么Google脚本应该将订单90104插入工作表中的一列。例如,电子邮件可以是: 您好,客户要求订购90104。谢谢 这可能吗?到目前为止,我使用了,我可以得到电子邮件的所有内容,并把它放在一列。我的计划是查看该列并查找词序。尽管我找不到解决方案 以下是我获取前三封电子邮件内

我不熟悉谷歌脚本

我创建了一个脚本,谷歌电子表格应该连接到GMail。一切都很顺利

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

例如,邮件正文中包含“订单90104”,那么Google脚本应该将订单90104插入工作表中的一列。例如,电子邮件可以是:

您好,客户要求订购90104。谢谢

这可能吗?到目前为止,我使用了,我可以得到电子邮件的所有内容,并把它放在一列。我的计划是查看该列并查找词序。尽管我找不到解决方案

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

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);    
} 
函数getGMail(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheets()[0]; var threads=GmailApp.getInboxThreads(0,3); 单元格=sheet.getRange(“A1”); 对于(var i=0;i }

如有任何建议或意见,将不胜感激


谢谢

你好,拉迪德布格

由于您没有给出很多代码,我的答案将非常简短:是的,您可以做到
如何:使用regexp:
/ORDER[0-9]+/g.

如何使用regexp:下面是一个示例代码

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的知识,但是由于这个原因,我现在就学习它。非常感谢你,哈罗德!Thaaanks!:)RegExp对我来说非常痛苦,但我使用两个站点来构建和测试它们:和