javascript - if 语句中的 Google Sheets 通配符

标签 javascript google-apps-script google-sheets

我有一个包含表单回复的 Google 表格。电子邮件地址不是必需的,但它应该是。不管怎样,我都在尝试回填电子邮件地址(以便让它们准备好作为 Spiceworks 票证导入,但我离题了)。我正在检查并输入用户名,但我希望表格自动填充域。我想我可以通过让它检测到字符串以 @ 结尾,然后将域添加到其中来做到这一点。目前我有:

    // assumes source data in sheet named Done 14-15
  // test column with done is col 9 or I

      if(s.getName() == "Done 14-15" && r.getColumn() == 9 && r.getValue() == "?@" ) {
        var row = r.getRow();
        var value = r.getValue();
        r.setValue(value + "example.org");
        var numColumns = s.getLastColumn();
        s.getRange(row, 1, 1, numColumns).copyTo(target);
      }

如您所见,我对通配符打了一个问号。我也尝试过使用星号或百分号,但没有成功。如果我确实有 ?@ ,它将被替换,但我希望它采用 anything@ 并附加我们的域。

最佳答案

正则表达式应该可以解决您的问题。

r.getValue() == "?@" 替换为

var regEx = new RegExp('.*@$')
if (regEx.test(r.getValue())) {
    // your code
}

关于javascript - if 语句中的 Google Sheets 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972046/

相关文章:

google-apps-script - 在 Google Drive、Android 或桌面的文档列表中找不到 Google Apps 脚本项目

google-apps-script - 在独立脚本项目中调用openById方法时出现"Service Spreadsheets failed"错误

javascript - 使用 Google Apps 脚本从 html5 时间和日期输入创建日历事件?

google-apps-script - getDataRange().getValues() 无法识别使用 setValue 更改的单元格值

excel - 有没有办法根据列标题和行创建矩阵内非空白单元格的计数?

javascript - 为图表融合渲染容器设置圆 Angular

javascript - 执行前拦截jQuery.ajax的 'success'回调函数

javascript - 如何在 javascript 中将日期从公历更改为 shamsi

javascript - 将数据转换为数组数组

javascript - Google 表格应用程序脚本 : Can you write an array to a single row instead of a single column?