为什么.replace方法在Google Apps脚本中不起作用?我需要从字符串数组中删除空格

时间:2015-11-26 16:49:19

标签: google-apps-script google-sheets

提前为noob问题道歉:我只想解析一个字符串数组,删除空格,并将新的无空格字符串放在另一个工作表的列中。我知道/ \ s用于空格,/ g用于整个字符串。我尝试了这个,但是我收到消息“找不到对象中的函数替换...”为什么.replace在Google Script中不起作用?

  data2=[];
  for (var y = 0; y <= max; y++) {
    var prodName= data[y];
    var handle=prodName.replace(/\s+/g,'');
    data2.push(handle);
  }
  sheet.getRange(2,2,max).setValue(data2);

是否有其他方法可以从数组中的字符串中删除空格更好?

1 个答案:

答案 0 :(得分:0)

尝试以下功能。我强制prodName为字符串。我还将data2.push(handle)更改为data2.push([handle])以使其成为2D数组(需要设置值)。并将sheet.getValues更改为更正范围并将setValue更改为setValues。以下功能对我有用。

function testit(){
sheet= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var data2=[];
var data=[["DR- Line Arrow"], ["DR- Line Cookie- Non Direction"], ["DR-   Finger Spool 100' SS"], ["DR- Finger Spool 125'"], ["DR- Finger Spool 50'"], ["DR- Finger Spool 50'"], ["DR- Line #21 White"]]
  for (var y = 0; y <= data.length-1; y++) {
  var prodName= data[y];
  var test = prodName.toString()
  var handle=test.replace(/\s+/g,'');
  data2.push([handle]);
  }
var r = sheet.getRange(2,2,data2.length,1)
r.setValues(data2);
}