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

RegEx to replace variable quantity of characters with single character

本文关键字:字符 替换 单个 RegEx      更新时间:2023-09-26

给定此字符串

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

我需要将什么RegEx转换为这个字符串:

'The,Quick,Brown,Fox,Jumps'

我需要将1-n个字符(例如";")替换为一个字符(如",")。

因为我知道,有时你喜欢知道"你在努力实现什么?"我需要设置一个值的字符串列表,这些值可以用不同方法的组合来分隔:

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

我的方法是将所有已知的分隔符转换为标准字符(e..g";"),然后用最终所需的分隔符替换

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

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

你也可以用这样的东西在一次操作中完成整个事情

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

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

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

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

这应该可以做到:

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

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