[英]“.Replace” in Google Apps Script
以下是示例代码中的一行,它将使用xpath从URL中提取数据:
xpath = xpath.replace(“ / html /”,“”)。replace(“ / tbody”,“”,“ g”);
(其中xpath可能类似于:“ / html / body / table / tbody / tr [1] / table / tbody / td / tr / td [2] / a”;
我不明白为什么第二个“ .replace”可以具有三个值? “ g”是什么意思?
以上等同于以下内容吗?
xpath = xpath.replace(“ / html /”,“”);
xpath = xpath.replace(“ / tbody”,“”,“ g”);
这是RegEx全局修饰符。 执行全局匹配(找到所有匹配而不是在第一个匹配之后停止)。 所有出现的“ / tbody”将被替换,而不仅仅是第一个。
如果您参考MDN文档中关于replace
方法的内容,则会注意到语法如下:
他们描述了最后一个参数,如下所示:
flags :注-flags参数是非标准的Mozilla扩展。 一个字符串,指定正则表达式标志的组合。 在String.replace方法中使用flags参数是非标准的。 代替使用此参数,使用带有相应标志的RegExp对象。 如果使用此参数,则它的值应该是一个字符串,由以下一个或多个字符组成,以影响所述操作:
g:全球比赛
我:忽略大小写
m:匹配多行
y:黏
在您的代码中使用g
,这意味着它是全局替换,替换字符串中的每个匹配项。(请注意,这是非标准的,他们建议在正则表达式本身中使用该标志, 请参见doc )。
我建议您阅读整篇文章,因为它非常清楚,可以帮助您理解该怎么做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.