繁体   English   中英

Google Apps脚本中的“ .Replace”

[英]“.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.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM