Google apps script 将数组中的所有逗号替换为空

Google apps script 将数组中的所有逗号替换为空,google-apps-script,Google Apps Script,我走到了死胡同,需要帮助!代码如下。应该很简单。。。。我有一个数组,它有很多行长,33列宽。。。。。我只需要从数组值中取出所有逗号。数组由一些字符串字段和一些数字字段组成。。。。。感谢您的帮助 到目前为止,我无法使用.replace函数获得任何运气。。。。谢谢 function Pipeline() { var writelocation = SpreadsheetApp.openById(globalvariables().importerid); var writesheet = w

我走到了死胡同,需要帮助!代码如下。应该很简单。。。。我有一个数组,它有很多行长,33列宽。。。。。我只需要从数组值中取出所有逗号。数组由一些字符串字段和一些数字字段组成。。。。。感谢您的帮助

到目前为止,我无法使用.replace函数获得任何运气。。。。谢谢

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");
        });
      }