在JavaScript中使用正则表达式过滤字符串中的逗号和空格
我想使用正则表达式筛选字符串,以便:在JavaScript中使用正则表达式过滤字符串中的逗号和空格,javascript,regex,Javascript,Regex,我想使用正则表达式筛选字符串,以便: 多个空间将替换为单个空间 逗号前后的所有空格均替换为单个逗号 用空格删除多个逗号 删除起始和结束逗号 样本输入: ,这是一个,,,测试,用于在js 123中查找正则表达式 预期输出: “这是一个在js 123中查找正则表达式的测试” 到目前为止我所尝试的: 到目前为止,我已经提出了一个有效的解决方案 var str=“,这是一个,,,测试,用于在js 123中查找正则表达式,”; str=str.replace(/+/g,“”)//将多个空间替换
- 多个空间将替换为单个空间
- 逗号前后的所有空格均替换为单个逗号
- 用空格删除多个逗号
- 删除起始和结束逗号
样本输入: ,这是一个,,,测试,用于在js 123中查找正则表达式
预期输出: “这是一个在js 123中查找正则表达式的测试”
到目前为止我所尝试的: 到目前为止,我已经提出了一个有效的解决方案
var str=“,这是一个,,,测试,用于在js 123中查找正则表达式,”;
str=str.replace(/+/g,“”)//将多个空间替换为单个空间
str=str.replace(/\s*,\s*/g,“,”)//用单个逗号替换逗号前后的空格
str=str.replace(/,+/g,“,”)//用单个逗号删除多个逗号
str=str.replace(/^,|,$/g,”)//删除起始和结束逗号
console.log(str)代码>首先,删除逗号旁边的所有空格:
replace(/ *, */g, ’,’)
第二,用单逗号替换所有连续逗号,用单空格替换所有连续空格:
replace(/,+/g, ‘,’)
replace(/ +/g, ‘ ‘)
最后,删除前导和尾随逗号:
replace(/^,/, ‘’)
replace(/,$/, ‘’)
var str=“,这是一个,,,测试,用于在js 123中查找正则表达式,”;
str=str.replace(/^[\s,]+|[\s,]+$\s*(\s |,)[\s,]*/g,“$1”);
console.log(str)代码>到目前为止您尝试了什么?请在中添加一些代码。我们刚刚找到了一个解决办法。下面提供了它,希望进一步优化它。我编辑了你的问题,如果你有答案的解决方案,请在下面的答案中发布,如果你有到目前为止的代码(不是答案),请编辑你的问题,不要将其添加为答案。谢谢,我已经批准了你的编辑。它解释得更详细。谢谢你,@Stephan T。或者一步到位.replace(/^[\s,]+|[\s,]+$\s*(\s |,)[\s,]*/g,“$1”)