0

我在 Google 应用脚本中使用以下代码来提取数字。

function getBTC_ZAR_ExchangeRate() {
  var response = UrlFetchApp.fetch("http://coinmill.com/rss/BTC_ZAR.xml")
  var xmlText = response.getContentText();
  //var funded = Xml.parse(htmlText, true);
  var rate = xmlText.match(/BTC =\s(.*?)\sZAR<br/);    
  return rate[1];
}

结果,我得到了一个包含两个项目的数组。只有数组中的第二项是正确的。

result = {"BTC = 27.45 ZAR<br", "27.45"}

我做错了什么,因为这不可能是它应该工作的方式?

4

2 回答 2

2

这是预期的行为。请参阅 MDN 上的第一个示例。从 match 返回的值是 1. 您匹配的模式(您告诉它匹配整个事物,所以它做到了;2. 后跟该模式匹配的值(在您的情况下为 27.45)。

于 2013-02-27T13:32:04.093 回答
0

正如 Phil Bozak 回答的那样,这就是 match 的工作原理。但这是一个 JavaScript 函数,与 Google Apps Script 没有任何关系。

于 2015-06-13T04:46:40.110 回答