RegEx替换数字之间的空格

时间:2018-02-12 17:50:18

标签: javascript

我需要摆脱各个时间报价(小时:分钟:秒,毫秒)之间的所有空格

string

00: 00: 35,207 -> 00: 00: 38,664

必须成为

00:00:35,207 -> 00:00:38,664

如何使用RegEx

执行此操作

我试过这个



var string = "00: 00: 35,207 -> 00: 00: 38,664";

console.log(string.replace(/(?<=\d+)\s+(?=\d+)/g, ""))
&#13;
&#13;
&#13;

但是这样做不起作用。

2 个答案:

答案 0 :(得分:2)

Javascript不支持lookbehind (?<=

你可以:

  • 选择要替换的内容,在本例中为冒号和空格:

  • 然后用冒号:

  • 替换它

正如@melpomene评论的那样,您可以使用:

&#13;
&#13;
var string = "00: 00: 35,207 -> 00: 00: 38,664";
console.log(string.replace(/: /g, ':'));
&#13;
&#13;
&#13;

使用/g全局标记在第一次匹配后不返回。

如果您想使用正向前瞻,可以使用: (?=\d+)

&#13;
&#13;
var string = "00: 00: 35,207 -> 00: 00: 38,664";
console.log(string.replace(/: (?=\d+)/g, ':'));
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这样的事情应该有效:

&#13;
&#13;
const test = "00: 00: 35,207 -> 00: 00: 38,664";
console.log(test.replace(/\s*(:|,)\s*/g, "$1"));
&#13;
&#13;
&#13;

正则表达式只是将:,替换为包含该字符的空格。