繁体   English   中英

单引号的串联Google脚本

[英]Concatenation of single quote marks Google Script

我有三列数据

selector                                            label     option list
time you personally have been engaged with uscan    label_1   Arts
time you personally have been engaged with uscan    label_2   Children’s Issues
time you personally have been engaged with uscan    label_3   Coaching
time you personally have been engaged with uscan    label_4   Community Development
time you personally have been engaged with uscan    label_5   Conflict
time you personally have been engaged with uscan    label_6   Consulting

我试图将这些列连接起来,以便在第4列中

option {
label: "Label_1;
selector: ["time you personally have been engaged with uscan"="Arts"];
}

option {
label: "Label_2;
selector: ["time you personally have been engaged with uscan"="Children’s Issues"];
}
etc

我的尝试

result[i] = [""option {label:""" + values[i][0] + "";" + "selector: [" + values[i][0] + ""=" +  + values[i][1] + ""];}"];

被所有必需的单引号覆盖

谢谢

GS

function OptionsList() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OptionList");
  var lr = sheet.getLastRow();
  var values = sheet.getRange(2, 1, lr,3).getValues();
  var result = [];

  //Add items to results
  for(var i=0; i<lr; i++){

    result[i] = [""option {label:""" + values[i][0] + "";" + "selector: [" + values[i][0] + ""=" +  + values[i][1] + ""];}"];

}

//Post back to column 4 starting on row 2
sheet.getRange(2, 4, lr, 1).setValues(result);
}

这个修改怎么样?

修改要点:

  • 关于result[i]
    • "\\"一样逃脱了\\"
    • \\n这样添加了换行符。
  • 通过filter()删除空单元格。

修改后的脚本:

function OptionsList() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("OptionList");
  var lr = sheet.getLastRow();
  var values = sheet.getRange(2, 1, lr, 3).getValues();
  values = values.filter(function(e){return e[0] && e[1] && e[2]}); // Added
  var result = [];
  //Add items to results
  for(var i=0; i<values.length; i++){ // Modified
    result[i] = ["option {\nlabel: \"" + values[i][1] + ";\n" + "selector: [\"" + values[i][0] + "\"=\"" + values[i][2] + "\"];\n}"]; // Modified
  }
  //Post back to column 4 starting on row 2
  sheet.getRange(2, 4, result.length, 1).setValues(result); // Modified
}

注意 :

  • 例如,是否必须在label: "Label_1; "Label_1 "之后"Label_1 label: "Label_1;label: "Label_1; ?如果需要,请进行如下修改。
    • + values[i][1] + "\\";\\n"

参考:

如果我误解了您的问题,请告诉我。 我想修改它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM