13

我对如何在 Google Script 中使用“字符串”类型有疑问?

我有一列包含不同格式的网站,例如 http://testsite.com/, http:///www.sitetest.net/, dot.anothersite.com, http:///anysite.net/index.html 等等。

所以我想自动将这些记录格式化为一个模板:sitename.domain(例如 http:///testsite.com/ = testsite.com || http:///www.sitetest.net/ = sitetest.net)

我通过这个脚本得到这个信息:

var sheet = SpreadsheetApp.getActiveSheet();
  var sheetName = sheet.getName();
  var restrictSheet = "Summary";
  if (sheetName != restrictSheet){ // I don't need to modify first sheet from my spreadsheet
    var sheetRange = sheet.getActiveRange();
    var sData = sheet.getRange("A3:A"); // column with sites
    var TextArray = sData.getValues();
  }else Browser.msgBox("wrong sheet");
}

而且我不知道如何使用谷歌脚本中的字符串。例如,在 C++ 中,我可以使用 String.Find() 或 String.Mid() 等字符串函数。但我在 Google Scripts 中看不到相同的功能

4

2 回答 2

36

嗯......我已经找到了我自己的问题的答案:D

Google Script 使用 JavaScript 中的 String 类,因此 JS 中的函数和方法也适用于 Google Scripts..

http://www.w3schools.com/jsref/jsref_obj_string.asp

也许它会帮助某人。

于 2013-02-26T04:42:19.117 回答
13

可能有点晚了。。

但很高兴知道许多常见的字符串对象方法在 Google App Script 中不起作用例如.endsWith.includes等。

检查这个stackoverflow问题

这里有一些测试来验证

function stringEndsWithTest(){
  var a = "abc@example.com";
  SpreadsheetApp.getUi().alert('endsWith method on a string in google app script '+ a.endsWith('.com')); 
}

function stringIncludesTest(){
  var a = "abc@example.com";
  SpreadsheetApp.getUi().alert('includes method on a string in google app script '+ a.includes('.com')); 
}

我在写这个答案的时候遇到了这个错误

TypeError:找不到对象 abc@example 中包含的函数。(第 19 行,文件“main”)

作为上述方法的替代方法,对我有帮助的是“indexOf”方法

function stringIndexOfTest(){
  var a = "abc@example.com";
  SpreadsheetApp.getUi().alert('indexOf method on a string in google app script '+ a.indexOf('.com')); 
}

我希望它可以帮助某人。

于 2017-11-25T14:03:50.840 回答