javascript - 替换双逗号,直到出现一些

标签 javascript jquery regex

我正在尝试将所有双逗号替换为 ,null,

问题是我需要在它替换它的同时继续这样做。我正在考虑添加一个循环,但是还有其他更有效的替代方案吗?

var test = "[1,2,,,3,4,,,,,,5,6]".replace(/,{2}/g, ",null,");

alert(test);

结果应该是:

"[1,2,null,null,3,4,null,null,null,null,null,5,6]"

而是:

[1,2,null,,3,4,null,,null,,null,5,6]

所以我必须创建一个循环并执行它,直到完成所有双逗号为止。不知道还有没有其他办法?

作为附带信息,这是为了我以后可以这样做:

var myArray = $.parseJSON(test);

目前它失败了,我猜这是因为它不是有效的 json。

最佳答案

单个正则表达式:

"[AB,,,CD,,,,,,EF]".replace(/,(?=,)/g, ',null');

demo

这里我们使用 ?= 前瞻查找 2 个逗号(“逗号后面有一个逗号”),但仅匹配并替换第一个逗号。

编辑:

您似乎对速度感兴趣,这里有一些 tests .

关于javascript - 替换双逗号,直到出现一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801765/

相关文章:

python re,查找包含可选组的表达式

javascript - 文本区域的自定义占位符

javascript - $().text();没有改变值(value)

javascript - div的循环运动

php - 尝试获取 JSON 数据,但没有任何反应

javascript - 想要在span标签中添加变量

javascript - 使用 jquery 只允许输入 2 个小数点到文本框?

带有非捕获组的正则表达式

javascript - 我如何总结这个对象数组?

javascript - 如何将 npm 包与 webpack 捆绑在一起并作为对象公开?