Google apps script 将数组中的所有逗号替换为空
我走到了死胡同,需要帮助!代码如下。应该很简单。。。。我有一个数组,它有很多行长,33列宽。。。。。我只需要从数组值中取出所有逗号。数组由一些字符串字段和一些数字字段组成。。。。。感谢您的帮助 到目前为止,我无法使用.replace函数获得任何运气。。。。谢谢Google apps script 将数组中的所有逗号替换为空,google-apps-script,Google Apps Script,我走到了死胡同,需要帮助!代码如下。应该很简单。。。。我有一个数组,它有很多行长,33列宽。。。。。我只需要从数组值中取出所有逗号。数组由一些字符串字段和一些数字字段组成。。。。。感谢您的帮助 到目前为止,我无法使用.replace函数获得任何运气。。。。谢谢 function Pipeline() { var writelocation = SpreadsheetApp.openById(globalvariables().importerid); var writesheet = w
function Pipeline() {
var writelocation = SpreadsheetApp.openById(globalvariables().importerid);
var writesheet = writelocation.getSheetByName("Pipeline");
var linkssheet = writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange("A:AG").clear();
//var length = 1 + getLastRowSpecial(linkssheet.getRange("C:C").getValues());
var length = 5;
var array = [];
var array = [
["Highlight", "Customer", "Prospect", "Type", "Status", "Product Detail & Comments", "Start Date", "End Date", "Bulk Sales", "Bulk GM%", "Non-Bulk Sales", "Non-Bulk GM%", "Safety Sales", "Safety GM%", "Welding Sales", "Welding GM%", "Rent / Other Sales", "Rent / Other GM%", "Source", "Segment", "Competitor", "Contract Expiration", "Win Reason", "Loss Reason", "PSA Won", "Contacts", "Probability", "Monthly Sales", "Monthly GM", "12M Sales", "District", "Area", "Salesperson"]
];
for (i=2; i<length; i++) {
var source = SpreadsheetApp.openByUrl(linkssheet.getRange(i,3).getValue()).getSheetByName("Pipeline").getRange("A4:AG").getValues().filter(function(item){ return item[4] != ""; });
for (k=0; k<source.length; k++) {
for (j=0; j<source[k].length; j++) {
source[k][j].toString().replace(/[,]/g,'-');
}
array.push(source[k]);
}
}
writesheet.getRange(1,1,array.length,array[0].length).setValues(array);
linkssheet.getRange("E3").setValue(new Date()).setNumberFormat("yyyy-MM-dd HH:mm:ss");
}
函数管道(){
var writelocation=SpreadsheetApp.openById(globalvariables().importerid);
var writesheet=writelocation.getSheetByName(“管道”);
var linkssheet=writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange(“A:AG”).clear();
//var length=1+getLastRowSpecial(linkssheet.getRange(“C:C”).getValues());
变量长度=5;
var数组=[];
变量数组=[
[“突出显示”、“客户”、“潜在客户”、“类型”、“状态”、“产品详细信息和评论”、“开始日期”、“结束日期”、“批量销售”、“批量总经理%”、“非批量销售”、“非批量总经理%”、“安全销售”、“安全总经理%”、“焊接销售”、“焊接总经理%”、“租金/其他销售”、“租金/其他总经理%”、“来源”、“细分市场”、“竞争对手”、“合同到期”、“获胜原因”,“损失原因”、“PSA赢得”、“联系人”、“概率”、“月度销售额”、“月度总经理”、“1200万销售额”、“地区”、“地区”、“销售人员”]
];
对于(i=2;i这个答案怎么样
修改点:
- 在您的脚本中,我认为
source[k][j].toString().replace(/[,]/g,'-');
必须放在source[k][j]
中。
- 我想你的问题可能是这个原因
- 您的标题是
将数组中的所有逗号替换为空
。但是,替换(/[,]/g',-”)
替换,
到-
。虽然我不确定源[k][j]的实际值。toString()
,如果您想替换,
为空,请修改为替换(/[,]/g.))
或替换(/[,]/g',)
。
- 我认为您只想替换
,
,也可以使用replace(/,/g',)
当上述各点反映到脚本中时,它将变成如下所示
修改脚本:
发件人:
致:
参考:
这个答案怎么样
修改点:
- 在您的脚本中,我认为
source[k][j].toString().replace(/[,]/g,'-');
必须放在source[k][j]
中。
- 我想你的问题可能是这个原因
- 您的标题是
将数组中的所有逗号替换为空
。但是,替换(/[,]/g',-”)
替换,
到-
。虽然我不确定源[k][j]的实际值。toString()
,如果您想替换,
为空,请修改为替换(/[,]/g.))
或替换(/[,]/g',)
。
- 我认为您只想替换
,
,也可以使用replace(/,/g',)
当上述各点反映到脚本中时,它将变成如下所示
修改脚本:
发件人:
致:
参考:
您的脚本存在多个问题-
- 您两次声明相同的变量-
var数组=[];
变量数组=[“突出显示”,…]
您正在1D数组中设置标题值,该数组不能写入图纸
var数组=[
[“突出显示”、“客户”、“潜在客户”、“类型”、“状态”、“产品详细信息和评论”、“开始日期”、“结束日期”、“批量销售”、“批量总经理%”、“非批量销售”、“非批量总经理%”、“安全销售”、“安全总经理%”、“焊接销售”、“焊接总经理%”、“租金/其他销售”、“租金/其他总经理%”、“来源”、“细分市场”、“竞争对手”、“合同到期”、“获胜原因”、”“损失原因”、“PSA赢得”、“联系人”、“概率”、“月度销售额”、“月度总经理”、“1200万销售额”、“地区”、“地区”、“销售人员”]
];
当标题表示要将其替换为空格时,您正在将“,”替换为“-”
您没有将替换的值指定给任何其他变量,替换方法不会更改调用它的对象
这就是你的代码应该是什么样子
function Pipeline() {
var writelocation = SpreadsheetApp.openById(globalvariables().importerid);
var writesheet = writelocation.getSheetByName("Pipeline");
var linkssheet = writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange("A:AG").clear();
//var length = 1 + getLastRowSpecial(linkssheet.getRange("C:C").getValues());
var length = 5;
var array = [];
array[0] = [
["Highlight", "Customer", "Prospect", "Type", "Status", "Product Detail & Comments", "Start Date", "End Date", "Bulk Sales", "Bulk GM%", "Non-Bulk Sales", "Non-Bulk GM%", "Safety Sales", "Safety GM%", "Welding Sales", "Welding GM%", "Rent / Other Sales", "Rent / Other GM%", "Source", "Segment", "Competitor", "Contract Expiration", "Win Reason", "Loss Reason", "PSA Won", "Contacts", "Probability", "Monthly Sales", "Monthly GM", "12M Sales", "District", "Area", "Salesperson"]
];
for (i=2; i<length; i++) {
var source = SpreadsheetApp.openByUrl(linkssheet.getRange(i,3).getValue()).getSheetByName("Pipeline").getRange("A4:AG").getValues().filter(function(item){ return item[4] != ""; });
for (k=0; k<source.length; k++) {
for (j=0; j<source[k].length; j++) {
source[k][j] = source[k][j].toString().replace(/[,]/g,' ');
}
array.push(source[k]);
}
}
writesheet.getRange(1,1,array.length,array[0].length).setValues(array);
linkssheet.getRange("E3").setValue(new Date()).setNumberFormat("yyyy-MM-dd HH:mm:ss");
}
函数管道(){
var writelocation=SpreadsheetApp.openById(globalvariables().importerid);
var writesheet=writelocation.getSheetByName(“管道”);
var linkssheet=writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange(“A:AG”).clear();
//var length=1+getLastRowSpecial(linkssheet.getRange(“C:C”).getValues());
变量长度=5;
var数组=[];
数组[0]=[
[“突出显示”、“客户”、“潜在客户”、“类型”、“状态”、“产品详细信息和评论”、“开始日期”、“结束日期”、“批量销售”、“批量总经理%”、“非批量销售”、“非批量总经理%”、“安全销售”、“安全总经理%”、“焊接销售”、“焊接总经理%”、“租金/其他销售”、“租金/其他总经理%”、“来源”、“细分市场”、“竞争对手”、“合同到期”、“获胜原因”、”“损失原因”、“PSA赢得”、“联系人”、“概率”、“月度销售额”、“月度总经理”、“1200万销售额”、“地区”、“地区”、“销售人员”]
];
对于(i=2;i您的脚本有多个问题-
您两次声明相同的变量-
var数组=[];
变量数组=[“突出显示”,…]
您正在1D数组中设置标题值,该数组不能写入图纸
var数组=[
[“突出显示”、“客户”、“潜在客户”、“类型”、“状态”、“产品详细信息和评论”、“开始日期”、“结束日期”、“批量销售”、“批量总经理%”、“非批量销售”、“非批量总经理%”、“安全销售”、“安全总经理%”、“焊接销售”、“焊接总经理%”、“租金/其他销售”、“租金/其他总经理%”、“来源”、“细分市场”、“竞争对手”、“合同到期”、“获胜原因”、”“损失原因”、“PSA赢得”、“联系人”、“概率”、“月度销售额”、“月度总经理”、“1200万销售额”、“地区”、“地区”、“销售人员”]
];
当标题显示“您”时,您正在将“,”替换为“-”
source[k][j] = source[k][j].toString().replace(/[,]/g,' '); // or replace(/[,]/g,'')
function Pipeline() {
var writelocation = SpreadsheetApp.openById(globalvariables().importerid);
var writesheet = writelocation.getSheetByName("Pipeline");
var linkssheet = writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange("A:AG").clear();
//var length = 1 + getLastRowSpecial(linkssheet.getRange("C:C").getValues());
var length = 5;
var array = [];
array[0] = [
["Highlight", "Customer", "Prospect", "Type", "Status", "Product Detail & Comments", "Start Date", "End Date", "Bulk Sales", "Bulk GM%", "Non-Bulk Sales", "Non-Bulk GM%", "Safety Sales", "Safety GM%", "Welding Sales", "Welding GM%", "Rent / Other Sales", "Rent / Other GM%", "Source", "Segment", "Competitor", "Contract Expiration", "Win Reason", "Loss Reason", "PSA Won", "Contacts", "Probability", "Monthly Sales", "Monthly GM", "12M Sales", "District", "Area", "Salesperson"]
];
for (i=2; i<length; i++) {
var source = SpreadsheetApp.openByUrl(linkssheet.getRange(i,3).getValue()).getSheetByName("Pipeline").getRange("A4:AG").getValues().filter(function(item){ return item[4] != ""; });
for (k=0; k<source.length; k++) {
for (j=0; j<source[k].length; j++) {
source[k][j] = source[k][j].toString().replace(/[,]/g,' ');
}
array.push(source[k]);
}
}
writesheet.getRange(1,1,array.length,array[0].length).setValues(array);
linkssheet.getRange("E3").setValue(new Date()).setNumberFormat("yyyy-MM-dd HH:mm:ss");
}
function Pipeline() {
var writelocation = SpreadsheetApp.openById(globalvariables().importerid);
var writesheet = writelocation.getSheetByName("Pipeline");
var linkssheet = writelocation.getSheetByName(globalvariables().linkstab);
writesheet.getRange(1,1,writesheet.getLastRow(),33).clear();
var array = [["Highlight", "Customer", "Prospect", "Type", "Status", "Product Detail & Comments", "Start Date", "End Date", "Bulk Sales", "Bulk GM%", "Non-Bulk Sales", "Non-Bulk GM%", "Safety Sales", "Safety GM%", "Welding Sales", "Welding GM%", "Rent / Other Sales", "Rent / Other GM%", "Source", "Segment", "Competitor", "Contract Expiration", "Win Reason", "Loss Reason", "PSA Won", "Contacts", "Probability", "Monthly Sales", "Monthly GM", "12M Sales", "District", "Area", "Salesperson"]];
var vs=linksheet.getRange(2,3,3,1).getValues();
vs.forEach(function(url,i){
var sss=SpreadsheetApp.openByUrl(url);
var ssh=sss.getSheetByName("Pipeline");
var srg=ssh.getRange(4,1,ssh.getLastRow()-3,1);
var source=srg.getValues();
source.forEach(function(r,k){
r.forEach(function(c,j){
source[k][j].replace(/[,]/g,'');
});
array.push(source[k])
});
writesheet.getRange(1,1,array.length,array[0].length).setValues(array);
linkssheet.getRange("E3").setValue(new Date()).setNumberFormat("yyyy-MM-dd HH:mm:ss");
});
}