javascript - 根据单元格文本删除 Google 表格中的行(如果包含)
问题描述
我正在尝试创建一个脚本,如果单元格包含但不完全匹配条件,它将自动删除该行。例如,如果单元格包含 gmail.com,脚本将删除行,作为较大电子邮件的一部分
123@gmail.com
123@yahoo.com
456@gmail.com
456@yahoo.com
这两封 yahoo 电子邮件将被保存,因为它们不符合条件。但是,我不确定在编写脚本时要使用正确的条件听写。这是我到目前为止所拥有的。
function deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var r = s.getRange('B:B');
var v = r.getValues();
for(var i=v.length-1;i>=0;i--)
if(v[0,i] 'gmail.com')
s.deleteRow(i+1);
};
我会放一个 ==,但这只会删除与 gmail.com 完全匹配的行。我会用什么来代替 == 使它本质上是一个包含条件的文本?
解决方案
尝试这个:
function deleteMatchingRows(string) {
var string=string||'gmail.com';
var ss = SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');
var lngth=sh.getLastRow();
var rg=sh.getRange(1,2,lngth,1);
var vA=rg.getValues();
var n=0;
for(var i=1;i<vA.length;i++){
if(vA[i][0] && vA[i][0].indexOf(string)>-1){
sh.deleteRow(i-n+1);
n++;
}
}
}
推荐阅读
- python - Twitter - 从 Python 中的 csv 文件获取多个用户的帐户创建日期
- events - 事件监听器的实现——汇编 vs 高级语言
- javascript - 带有jquery函数的密码字段html表单
- git - “ssh:无法解析主机名 github.com:再试一次” - 在 docker 容器内
- java - 仅在 Maven 父构建中构建子快照模块
- html - CSS Sprite 不起作用,因为宽度/高度定义了容器
- javascript - 在特定键上连接两个 JavaScript 数组(如 mySQL 连接)
- vbscript - 错误“80040211”使用 CDO.Message 在 Windows Server 2012 R2 上发送电子邮件
- sql - 从单个表中返回 0 值和 Oracle 中的计数
- javascript - JQuery - 用 fa fa-star 计算 i 的数量