RegEx用单个字符替换可变数量的字符

时间:2016-01-08 00:43:44

标签: javascript regex

鉴于此字符串

var d = 'The;Quick;;Brown;Fox;;;;;;Jumps';

我需要将RegEx转换为此字符串:

'The,Quick,Brown,Fox,Jumps'

我需要用一个字符替换1-n个字符(例如&#39 ;;')(例如',')。

因为我知道有时你想知道"你尝试完成什么?" 我需要调整一个字符串列表,这些值可以用不同方法的组合来分隔:

'The ,     Quick \r\n Brown  , \r\n Fox    ,Jumps,'

我的方法是将所有已知的分隔符转换为标准字符(例如&#39 ;;'),然后将其替换为最终所需的分隔符','定界符

2 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

d.replace(/[;]+/g, ',')

它只是将所有分号组替换为逗号

答案 1 :(得分:2)

正如Josh Crozier所说,你可以使用

d = d.replace(/;+/g, ',');

您也可以使用类似

之类的操作进行整个操作
d = d.replace(/[,; \r\n]+/g, ',');

[,; \r\n]+部分将找到由逗号,分号,空格等组成的组。然后,替换将用一个逗号替换它们。您可以使用方括号添加要作为分隔符处理的任何其他字符。

编辑:实际上,使用这样的东西可能更好。 \s将匹配任何空格字符。

d.replace(/[,;\s]+/g, ',');