我有一个像
这样的字符串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。
提前致谢
答案 0 :(得分:22)
您可以用空格替换每个空格和逗号,然后修剪这些尾随空格:
var str=" , this, is a ,,, test string , , to find regex,,in js. , ";
res = str.replace(/[, ]+/g, " ").trim();
答案 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');
答案 3 :(得分:0)
你应该可以使用
str.replace(/,/g," ");
'g'是关键,您可能需要使用[,]