字符串以Google Script开头

Aus*_*oag 11 javascript google-sheets

我正在为我们正在进行的一些选举制作数据转换脚本.第一部分将所有名称更改为大写,并且脚本的这部分工作正常.但是,我的脚本的第二部分有问题.有些ID会有S,S123456,有些则没有S,123456.出于我的目的,我需要所有ID在开头没有s.当我在Google中运行此脚本时,它返回"TypeError:在对象S123456中找不到函数startsWith".有任何想法吗?谢谢!!

function convertResponseData(){
  var resultsInformation = SpreadsheetApp.openById('MySheetID').getSheetByName('Election Responses');
  var resultsDataRange = resultsInformation.getRange(1, 1, 2500, 6);
  var resultsData = resultsDataRange.getValues();
  for (var i = 0; i < resultsData.length; i++) {
    var row = resultsData[i];
    var resultsStudentNameLower = row[1];
    var resultsStudentID = row[2]
    var studentNameUpper = resultsStudentNameLower.toUpperCase()
    resultsInformation.getRange(i+1, 2).setValue(studentNameUpper)
    if (var n = resultsStudentID.startsWith("S")){
      var resultsStudentIDNoS = resultsStudentID.substring(1,20);
      resultsInformation.getRange(i+1, 3).setValue(resultsStudentIDNoS)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Jac*_*own 28

startsWith()谷歌脚本不支持.相反,你可以使用

resultsStudentID.indexOf("S") == 0 
Run Code Online (Sandbox Code Playgroud)

检查字符串start是否以"S"开头

function convertResponseData(){
  var resultsInformation = SpreadsheetApp.openById('MySheetID').getSheetByName('Election Responses');
  var resultsDataRange = resultsInformation.getRange(1, 1, 2500, 6);
  var resultsData = resultsDataRange.getValues();
  for (var i = 0; i < resultsData.length; i++) {
    var row = resultsData[i];
    var resultsStudentNameLower = row[1];
    var resultsStudentID = row[2]
    var studentNameUpper = resultsStudentNameLower.toUpperCase()
    resultsInformation.getRange(i+1, 2).setValue(studentNameUpper)
    if (resultsStudentID.indexOf("S") == 0 ){
      var resultsStudentIDNoS = resultsStudentID.substring(1,20);  //You also do this resultsStudentID.substring(1) to get a substring from index 1 to end. 
      resultsInformation.getRange(i+1, 3).setValue(resultsStudentIDNoS)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

  • 这是正确的答案。问题的作者似乎忘记了该主题,但应将此标记为该问题的有效解决方案 (2认同)