我对编码有点新意,我尝试通过谷歌应用程序使用它来学习javascript。我已经想出了一些试图完成当前项目的事情,但我似乎已经陷入困境。
我正在尝试通过谷歌工作表创建一个程序,有点像预算应用程序,我从我的银行导入数据,运行程序,它搜索数据,根据内容更改描述,并添加分类。
我找到了一个很好的查找和替换方法,但我遇到的问题是它只替换部分字符串而不是整个字符串。我想要它做的是搜索数据,如果它找到与我输入的一个案例相匹配的单词,它将删除整个字符串并用我指定的新描述替换它。
这是我到目前为止所拥有的
function replaceStrings(){
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange("D1:D" + sheet.getLastRow());
var data = range.getValues();
for (var i = 0; i<data.length; i++) {
if (data[i][1] != "") {
switch (data[i][1]) {
case data.indexOf('MCDONALD\'S') >-1 :
data[i][1].replace(data[i][1],'McDonalds');
break;
}
}
}
range.setValues(data)
}
这是基于我找到的查找和替换功能,不确定我是否可以包含&#34; data [i] [0]&#34;在这样的替换函数中,但我也尝试删除字符串并附加新文本,但这也没有用。
当我运行此操作时,我没有收到任何错误消息,但没有任何反应。
答案 0 :(得分:0)
我不知道你的数据是什么样的,所以我使用了自己的一些,但这种技术对我来说似乎很好。我使用了getDataRange和我自己的索引,但你可以修改你需要的任何东西。或者,如果您希望可以共享电子表格,我可以根据您的具体要求进行自定义。
function replaceStrings()
{
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange()
var data = range.getValues();
for (var i = 0; i<data.length; i++)
{
if(data[i][1].match(/firstMatch/))
{
data[i][1]='replacement1';
}
if(data[i][1].match(/secondMatch/))
{
data[i][1]='replacement2';
}
}
range.setValues(data);
}
您可以使用任何您想要的匹配字符串。我碰巧使用正则表达式,如果找到匹配,你可以用你想要的任何东西替换整个数据元素。