如何使用javascript在单个正则表达式中递归替换文本字符串中重复的逗号
How to recursively replace duplicated commas in text string in a single regex using javascript
如何使用javascript递归替换单个正则表达式中文本字符串中重复的逗号?我当前的代码:
var myval = "aaa,,,,bbb,,,,,,,ccc,,,,,,,,ddd,,,,,,,eee";
do {
myval = myval.replace(/,,/g, ',');
} while (myval.indexOf(",,") > 0);
console.log(myval);
只需对replace
进行一点修改
myval.replace(/,+/g, ',');
var myval = "aaa,,,,bbb,,,,,,,ccc,,,,,,,,ddd,,,,,,,eee";
myval = myval.replace(/,+/g, ',');
document.write(myval);
您可以使用以下内容:
myval.replace(/,+/g, ',')
它将用一个,
替换任何包含1个或多个逗号的字符串(即,,,,,,
)
在RegEx中,您可以选择2个逗号/,,/
,但这会选择任何大于0
的金额。
此外,您发布的代码在JSFiddle 中似乎运行良好
可以使用正向前瞻:
var myval = "aaa,,,,bbb,,,,,,,ccc,,,,,,,,ddd,,,,,,,eee";
myval.replace(/,+(?=,)/g, '') // prints "aaa,bbb,ccc,ddd,eee"
这种方法将清除字符串中不必要的逗号,而不修改单个逗号
请参阅正在运行的jsbin演示。
相关文章:
- JSON解析字符串文本中的双引号
- 未将字符串文本附加到DOM
- jQuery替换多次出现的子字符串/文本
- 未终止的字符串文本问题
- 以字符串形式内化字符串文本
- MVC - 处理新行的未终止字符串文本
- 如何取消转义 JavaScript 字符串文本值
- 未终止的字符串文本,不换行
- 未终止的字符串文本/无效或意外的令牌
- 当您将字符串文本传递给变量,然后将该字符串中的数据分配给新变量时,它叫什么
- 在Javascript中将字符串文本提取为常量是一种最佳实践吗
- 如何将二进制数据从binaryjs转换为字符串/文本
- 在Javascript字符串文本中解释HTML标记
- Selenium IDE在字符串文本中提供了SyntaxError:JSON.parse:错误的控制字符
- 聚合物元素未在字符串/文本中的聚合物中注册
- 语法错误未终止字符串文本jquery
- 为什么大多数语言在字符串文本中使用双引号而不是单引号
- 如何使用jquery在span中显示多行字符串文本?
- 使用javascript存储动态内容时,未终止字符串文本错误
- 奇怪的未终止字符串文本错误与Firefox