我很难让.split()
函数在被分割的字符串中包含空格或除了简单字母或数字之外的任何字符时起作用。我试过用反斜杠表示法来逃避它们,但它没有用。下面的代码不会在结果数组中提供第二项。
function isGoodSerp(kw, optResults, optTld, optStart) {
errorOccurred = false;
kw = kw || "office 365";
optResults = optResults || 10;
optStart = optStart || 0;
optTld = optTld || '.com';
try {
var url = 'http://www.google' + optTld + '/search?q=' + kw + '&start=' + optStart + '&num=' + optResults;
var fullHtml = UrlFetchApp.fetch(url).getContentText();
var noHeaderHtml = fullHtml.split("Search Results");
Logger.log("noHeaderHtml" + noHeaderHtml[1]);
} catch(e) {
errorOccurred = true;
return e;
}
}
答案 0 :(得分:1)
我认为,您想要拆分的文本在结果页面中不存在(正如Babajide Fowotade已经说过的那样)。因此,结果是具有完整fullHtml
- 内容的单个元素。
示例:
console.log(("test").split('XXX'));
结果为["test"]
。
我不知道你想要达到的目标。谷歌搜索结果页面中没有文字“搜索结果” - 至少在我使用它时不会......
Split正在搜索您提供的文本并返回“周围”文本。
示例:
console.log(("this is a test").split(' '));
结果为["this", "is", "a", "test"]
。