这是我的场景:
我有一个Google Form,并将值添加到电子表格中。我有一个应用程序脚本开始与function onFormSubmit(event)
我从var Variable = event.namedValues["Question 1"];
的表单中获得值我将这些变量的值与一些"if"语句一起使用。
这个应用程序脚本一直在运行,但我仍然在做改变,以增加新的功能(在表单上添加更多的问题,在脚本上的新功能),但突然在其中一个变量开始出现一个逗号到这个变量的值。
检查完所有的脚本后,我决定复制所有的脚本到一个新的。当我使用这个新场景(相同的文件内容)时,神秘的逗号消失了。我继续进行新的开发,但是在一些新的更改(更新的)之后,逗号开始出现在其值中的一个变量上。在进行了一些新的修改之后,逗号从在值的开头添加,开始出现在末尾。
我已经检查了电子表格上的值,它们没有逗号,只有当我在脚本上使用该变量的值时才出现逗号。我从事件中保存值后,用Logger.log(Variable)
打印值,逗号在那里,所以我认为我的代码没有添加这个逗号。
知道为什么会这样吗?是否有一种方法来检查变量的值一个字符(在这种情况下,逗号)在脚本内?像Replace(Variable,",","")
这样的东西,在我开始在脚本中使用它们之前,我可以检查从事件中获得的所有值。变量的值不使用逗号。
这些是受影响的行(脚本有超过500行):
function onFormSubmit(event){
var Variable = event.namedValues["Question 1"];
Logger.log("Value after event" + Variable);
if (Variable == "AAAA"){
// do "something";
}
else {
// do "something different"
}
}
As the comma appears the if statement never gets a TRUE because the value starts to be "AAAA," so the do "something" never happens.
答案:
-
知道为什么会发生这种情况吗?
- 可能有一些错别字需要清理。如果你能提供你的代码或者至少你是怎么写的,那就更好了。
-
是否有一种方法来检查变量的值一个字符(在这种情况下,逗号)在脚本内?
- 您可以使用
includes
检查变量中是否存在字符/字符串。
- 您可以使用
var string = "I am Iron man,";
var hasComma = string.includes(","); // True
如果要替换逗号的所有实例,则使用replace
// Replace all commas with blank
var string = string.replace(",", ""); // "I am Iron man"
编辑:由于e.namedValues["Question 1"]
返回一个对象,您需要将变量更改为字符串,然后使用replace
函数
代码:
var Variable = e.namedValues["Question 1"];
Variable = String(Variable).replace(",", "");
Logger.log("Value after event: " + Variable);
if (Variable == "AAAA"){
// do "something";
}
else {
// do "something different";
}
引用:
- 包括
- 替换