Google apps script GoogleAppsScript:解析HTML后如何修剪字符串?

Google apps script GoogleAppsScript:解析HTML后如何修剪字符串?,google-apps-script,Google Apps Script,我试图做的是从网页中解析并提取电影标题,而不需要所有的HTML代码,最终会保存到电子表格中。我的代码: function myFunction() { var url = UrlFetchApp.fetch("http://boxofficemojo.com/movies/?id=clashofthetitans2.htm") var doc = url.getContentText() var patt1 = doc.match(/<font face\=\"Verda

我试图做的是从网页中解析并提取电影标题,而不需要所有的HTML代码,最终会保存到电子表格中。我的代码:

function myFunction() {
   var url = UrlFetchApp.fetch("http://boxofficemojo.com/movies/?id=clashofthetitans2.htm")
   var doc = url.getContentText()
   var patt1 = doc.match(/<font face\=\"Verdana\"\ssize\=\"6\"><b>.*?<\/b>/i);

      //var cleaned = patt1.replace(/^<font face\=\"Verdana\" size\=\"6\"><b>/,"");
      //Logger.log(cleaned); Didn't work, get "cannot find function in object" error.
      //so tried making a function below:   

   String.trim = function() {
     return this.replace(/^\W<font face\=\"Verdana\"\ssize\=\"6\"><b>/,""); }
   Logger.log(patt1.trim());
 }
函数myFunction(){
var url=UrlFetchApp.fetch(“http://boxofficemojo.com/movies/?id=clashofthetitans2.htm")
var doc=url.getContentText()
var patt1=文件匹配(/.*?/i);
//var cleaned=patt1.替换(/^/,“”);
//Logger.log(已清理);不工作,出现“在对象中找不到函数”错误。
//因此,尝试在下面创建一个函数:
String.trim=函数(){
返回此。替换(/^\W/,“”);}
Logger.log(patt1.trim());
}

我对所有这些(编程和谷歌脚本)都很陌生,我一直在引用w3school.com的JavaScript部分,但其中的许多内容都与谷歌脚本不兼容。我只是不确定这里少了什么,我的正则表达式错了吗?是否有更好/更快的方法来提取此数据而不是正则表达式?任何帮助都会很好,谢谢阅读

虽然试图从HTML中解析不受您控制的信息总是有点困难,但有一种方法可以让您自己更轻松

我注意到每个电影页面的title元素也包含电影标题,如下所示:

<title>Wrath of the Titans (2012) - Box Office Mojo</title>
泰坦之怒(2012)-票房魔咒
您可能会更成功地解析出这个标题,因为它可能更稳定

var url = UrlFetchApp.fetch("http://boxofficemojo.com/movies/?id=clashofthetitans2.htm");
var doc = url.getContentText();
var match = content.match(/<title>(.+) \([0-9]{4}\) -/);
Logger.log("Movie title is " + match[1]);
var url=UrlFetchApp.fetch(“http://boxofficemojo.com/movies/?id=clashofthetitans2.htm");
var doc=url.getContentText();
var match=content.match(/(.+)\([0-9]{4}\)-/);
Logger.log(“电影标题为”+match[1]);

试试Xml服务,非常感谢!我实际上是在尝试解析vbulletin board系统生成的页面——我只是碰巧在我的示例中使用了该站点,因为它提供了一个直接的.htm页面,我认为这对我的初学者来说是可行的。用你的正则表达式做了很多实验,我仍然不确定我是如何得到我想要的东西的——但你肯定帮了忙,出于好奇,它不是var match=doc.match吗(/