3

我对正则表达式很陌生,需要去掉一些逗号。我正在尝试将 Fri,,April,6,,2012 变成 Fri, April 6, 2012。

有任何想法吗?
我当前的代码如下。eDate 是 Fri,,April,6,2012

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

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

感谢胡安的帮助!当我将其更改为

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

我得到了 2012 年 4 月 6 日星期五

非常感谢。

4

3 回答 3

3

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

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

于 2012-04-04T18:11:17.890 回答
1

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

var edDate4 = "Fri,,April,6,,2012"​;
var eDate = edDate4.replace(/,/g, " ")​​​​​​​​.replace(/\s\s/g, ", ");
alert(eDate) //Gives "Fri, April 6, 2012"
于 2012-04-04T18:15:08.523 回答
0

这是一个例子

var stringWithoutComments = s.replace(/(`[^*]*`)|(```[^*]*```)|(''[^*]*'')|(<div [^*]*div>)|(,)|(<[^*]*>)/g, ' ');
console.log(stringWithoutComments);
于 2020-08-10T20:34:16.807 回答