【发布时间】:2013-12-22 05:10:41
【问题描述】:
我在 GAS 脚本中使用 JS .split() 方法时遇到问题。我将其他谷歌表格的标题复制并粘贴为变量headers(通常的方法是复制和粘贴)。此粘贴的选择包含一些空的和未定义的元素。我需要将这些元素转换为数组。所以我拆分它并使用.filter 来清理空元素。但是,当我运行脚本时,var arrayHeaders 仍然等于 headers,好像 .split(" ") 没有做任何更改,这样:
这是我的代码:
var headers = "STUDENT Parentage GRADE YEAR DATE GUIDE";
var arrayHeaders = headers.split(" ");
// arrayHeaders = arrayHeaders.filter(function(n){return n});
Logger.log("headers = " + headers);
Logger.log("arrayHeaders = " + arrayHeaders);
Logger.log("arrayHeaders length " + arrayHeaders.length);
for (var i = 0; i < arrayHeaders.length; i++){
var NOME_Cell = sheet.getRange(1, i +1);
Logger.log("NOME_Cell" + NOME_Cell);
Logger.log("arrayHeaders[i]" + arrayHeaders[i]);
NOME_Cell.setValue(arrayHeaders[i]).setBackgroundRGB(34, 139, 34).setFontSize(font_size).setFontWeight("bold").setFontFamily("Arial");
}
如果我在粘贴字符串后删除所有空格并再次按空格,那么.split(" ") 效果很好。
在问这个问题之前,我阅读了this other one,但我仍然对这里出了什么问题感到困惑。
提前感谢您的帮助!
【问题讨论】:
-
你的标题可以用制表符分隔而不是空格分隔吗?
-
是的,看起来不像一个“”会分裂他们
-
你可以试试
var arrayHeaders = headers.split(/[ \t]+/)
标签: javascript google-apps-script