【发布时间】:2021-09-19 16:45:49
【问题描述】:
我正在使用同时具有数字和文本值的工作表。我想做的是删除所有带有文本值的行,只保留带有数值的行。 在这张图片中,A 列代表我目前拥有的,B 列代表我想要实现的目标。我有一个可用于删除单个值的示例代码,但我怎样才能使这项工作适用于所有字符,而不仅仅是特定单词?
function deleteEmptyRows(){
var sh = SpreadsheetApp.getActiveSheet();
var data = sh.getDataRange().getValues();
var targetData = new Array();
for(n=0;n<data.length;++n){
if(data[n].join().replace(/,/g,'')!=''){ targetData.push(data[n])};
Logger.log(data[n].join().replace(/,/g,''))
}
sh.getDataRange().clear();
sh.getRange(1,1,targetData.length,targetData[0].length).setValues(targetData);
}
此外,不需要这个解决方案才能发挥作用。我正在寻找最好的解决方案。这只是我找到的一个例子。
【问题讨论】:
-
您可以使用
/[A-Za-z]/.test(string)检查是否有字母,然后放下该行或继续下一行。 -
谢谢。试过但不知道如何将它包含到代码中,所以我收到以下错误:ReferenceError: string is not defined
标签: javascript regex google-apps-script google-sheets