正则表达式从javascript中删除字符串中的多个逗号和空格

时间:2013-10-08 10:58:56

标签: javascript regex

我有一个像

这样的字符串
var str=" , this,  is a ,,, test string , , to find regex,,in js.  , ";

其中字符串的开头,中间和结尾有多个逗号空格。我需要

中的这个字符串
var str="this is a test string to find regex in js.";

我发现很多正则表达式在论坛中删除空格,单独使用逗号但我无法加入它们以删除它们。

如果可能,请解释正则表达式syntex。

提前致谢

4 个答案:

答案 0 :(得分:22)

您可以用空格替换每个空格和逗号,然后修剪这些尾随空格:

var str=" , this,  is a ,,, test string , , to find regex,,in js.  , ";
res = str.replace(/[, ]+/g, " ").trim();

jsfiddle demo

答案 1 :(得分:2)

尝试这样的事情:

var new_string = old_string.replace(/[\s,]+/g,' ').trim();

正则表达式只是[\s,]+如果我们打破这个\s意味着任何空白字符,而,是一个文字逗号。 []是一个字符集(思考数组),+表示一个或多个匹配。

如果你只想要一个空格而不是任何空格,你也可以用文字空格替换\s

我们在最后输入一个/g,以便进行全局搜索和替换,否则它只会用于一个匹配。

答案 2 :(得分:2)

你可以使用reg ex来实现这个

/[,\s]+|[,\s]+/g

var str= "your string here";
//this will be new string after replace
str = str.replace(/[,\s]+|[,\s]+/g, 'your string here');

RegEx Explained and Demo

答案 3 :(得分:0)

你应该可以使用

str.replace(/,/g," ");

'g'是关键,您可能需要使用[,]