" .Replace"在Google Apps脚本中

时间:2014-08-19 15:56:56

标签: javascript xpath google-apps-script

以下是示例代码中的一行,该代码将使用xpath:

从URL中提取数据

xpath = xpath.replace(" / html /","")。替换(" / tbody","&#34 ;," G&#34);

(其中xpath可能类似于:" / html / body / table / tbody / tr [1] / table / tbody / td / tr / td [2] / a&#34 ;;

我不明白为什么第二个" .replace"可以有三个值?什么是" g"意思?

以上是否等同于以下内容?

xpath = xpath.replace(" / html /","");

xpath = xpath.replace(" / tbody",""," g");

2 个答案:

答案 0 :(得分:0)

它是一个RegEx全局修饰符。执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)。所有出现的" / tbody"将被替换,而不仅仅是第一个。

答案 1 :(得分:0)

如果您参考有关replace方法的MDN documentation,您会注意到语法如下: enter image description here

他们描述了最后一个参数,如下所示:

标志: 注 - flags参数是非标准的Mozilla扩展。一个字符串,指定正则表达式标志的组合。 String.replace方法中flags参数的使用是非标准的。不使用此参数,而是使用带有相应标志的RegExp对象。如果使用此参数,则该值应为包含以下一个或多个字符的字符串,以影响所述操作:

G: 全球比赛

I: 忽略大小写

米: 匹配多行

Y: 粘性

在您的代码中,您使用g,这意味着它是全局替换,替换字符串中的每个匹配项。(请注意,这是非标准的,并且建议在正则表达式中使用该标志,{{3 }})

我建议阅读整篇文章,因为它非常清楚,有助于理解你可以用它做什么。