谷歌脚本查看文本是否包含值
Google Script to see if text contains a value
我有一个谷歌表单,当用户提交时,它将触发我的函数运行,该函数将创建他们作为谷歌文档提交的内容的摘要。我知道它可以自动发送电子邮件,但我需要它的格式,以便我的用户以后可以编辑它。
表单上有一些复选框,但getResponse()只填充了选中的项,我需要它来显示所有可能的选择。然后我会以某种方式指出检查了什么。
我找不到查看文本是否包含值的方法。就像在Java中使用String一样,我可以执行.contains("9th")
或.indexOf("9th") >=0
,然后我就会知道String包含9th。我如何用谷歌脚本做到这一点?看了所有的文档,我觉得这一定是有史以来最简单的事情。
var grade = itemResponse.getResponse();
需要看看年级是否包含9年级。
谷歌应用程序脚本是javascript,你可以使用所有的字符串方法。。。
var grade = itemResponse.getResponse();
if(grade.indexOf("9th")>-1){do something }
你可以在很多网站上找到文档,比如这个。
更新2020:
由于V8 Runtime,您现在可以使用现代ECMAScript语法。
您可以使用includes():
var grade = itemResponse.getResponse();
if(grade.includes("9th")){do something}
我不得不向值数组中的项添加一个.toString
。如果没有它,只有当整个细胞体与searchTerm
匹配时,它才会匹配。
function foo() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('spreadsheet-name');
var r = s.getRange('A:A');
var v = r.getValues();
var searchTerm = 'needle';
for(var i=v.length-1;i>=0;i--) {
if(v[0,i].toString().indexOf(searchTerm) > -1) {
// do something
}
}
};
我使用了Google Apps Script方法indexOf()
,结果是错误的。所以我编写了小函数Myindexof()
,而不是indexOf
:
function Myindexof(s,text)
{
var lengths = s.length;
var lengtht = text.length;
for (var i = 0;i < lengths - lengtht + 1;i++)
{
if (s.substring(i,lengtht + i) == text)
return i;
}
return -1;
}
var s = 'Hello!';
var text = 'llo';
if (Myindexof(s,text) > -1)
Logger.log('yes');
else
Logger.log('no');
相关文章:
- immutablejs:查找映射是否包含键值
- 谷歌脚本查看文本是否包含值
- 检查对象数组是否包含布尔值true/false
- 检查值是否包含字符串字符
- 根据对象中的值是否包含字符串来删除该值
- JavaScript 来检查 HTML 输入值是否包含字母和数字
- Javascript:如何检查数组是否包含某些值
- 测试数组是否包含八个 3 键值中的任何一个 - 井字游戏
- 如何检查javascript变量中的值是否包含数字
- 检查是否所有返回的数组都包含值 false
- 如何检查json对象是否包含值
- 检查变量是否包含数组的任何值
- 如何检查数组是否已设置并同时包含值
- JavaScript/jQuery检查数组是否包含所有特定值
- 检查对象是否包含带值的属性
- 使用Javascript检查JSON对象是否包含值
- 检查数组是否包含值?(我已经尝试了一些技巧,但我还是有点迷路了)
- 使用javascript检查URL是否包含值
- 如何检查iFrame中是否包含值
- Javascript检查数组是否包含值