js .replace()中的正则表达式

时间:2012-04-04 17:56:23

标签: javascript regex

我对正则表达式很新,需要删除一些逗号。我试图转向星期五,2012年4月6日 成 2012年4月6日星期五。

任何想法?
我目前的代码如下。 eDate是2012年4月6日星期五

eDate = edDate4.replace(/,+/g, ", ").replace(/^,/, "").replace(/,$/, "").split(",");

它返回2012年4月6日星期五。

感谢Juan的帮助! 当我把它改成

eDate = edDate4.replace(",,", ", ").replace(",,", ", ");

我于2012年4月6日星期五开始

非常感谢。

3 个答案:

答案 0 :(得分:2)

.replace(/,{2,}/g, ", ").replace(/,(?! )/g, " ")

在您的某个示例中,您可以更简单.replace(/,(?!,)/g, " "),但它会将",,,"替换为",, ",而不是", "

答案 1 :(得分:0)

有点奇怪的方式围绕它,但我会用空格替换所有逗号,然后任何有两个空格的地方都用逗号替换。有点像这样

var edDate4 = "Fri,,April,6,,2012"​;
var eDate = edDate4.replace(/,/g, " ")​​​​​​​​.replace(/\s\s/g, ", ");
alert(eDate) //Gives "Fri, April 6, 2012"

答案 2 :(得分:0)

这是一个例子

var stringWithoutComments = s.replace(/(`[^*]*`)|(```[^*]*```)|(''[^*]*'')|(<div [^*]*div>)|(,)|(<[^*]*>)/g, ' ');
console.log(stringWithoutComments);