Google Apps Script -来自Google表单/工作表的值上的神秘逗号



这是我的场景:

我有一个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.

答案:

  1. 知道为什么会发生这种情况吗?

    • 可能有一些错别字需要清理。如果你能提供你的代码或者至少你是怎么写的,那就更好了。
  2. 是否有一种方法来检查变量的值一个字符(在这种情况下,逗号)在脚本内?

    • 您可以使用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";
}

引用:

  • 包括
  • 替换

相关内容

  • 没有找到相关文章

最新更新