ai didi

javascript - replace() 在与字符串而不是正则表达式一起使用时不考虑 "g"标志

转载 作者:行者123 更新时间:2023-11-30 10:27:52 24 4
gpt4 key购买 nike

var a = 'Construction,Airports,Construction|Commercial Construction,Construction|Education,Construction|Healthcare,Construction|Housing,Construction|Industrial Construction,Construction|Other,Construction|Ports,Construction|Rail,Construction|Residential Construction,Construction|Roads & Bridges,Social Infrastructure|Commercial Construction,Social Infrastructure|Education,Social Infrastructure|Healthcare,Social Infrastructure|Housing,Social Infrastructure|Other,Social Infrastructure|Residential Construction';

alert(a.replace('|', ',', 'g'));

在 chrome 上,它仅替换第一次出现的 |,同时使用 replace() 的正则表达式形式的 g 标志> 函数,它会替换所有出现的地方:

alert(a.replace(/\|/g, ',', 'g'));

任何人都可以帮助我理解我在替换的第一种形式中是否做错了什么?这是预期的行为还是错误?

最佳答案

使用 flags 参数 is non-standard ;使用具有相应标志的 RegExp 对象是标准用法。

一些浏览器可能支持带有字符串版本的标志(参见 this example on MDN ),但不应依赖它。

例如,您的示例似乎在 Firefox 中运行良好,但在 Chrome 中却不行。

引用:ECMA-262 5.1 § 15.5.4.11

关于javascript - replace() 在与字符串而不是正则表达式一起使用时不考虑 "g"标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744024/

24 4 0
文章推荐: javascript - 图标 : Upon click trigger action to search
文章推荐: java - 无法在下拉框中找到 Web 元素?
文章推荐: swift - 倾斜矩形 UIBezierPath 的一条边
文章推荐: java - Spring 有时会抛出 ObjectOptimisticLockingFailureException,有时会抛出 OptimisticLockException
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com