改变字幕 (.srt) 格式,将 ',' 替换为 ' --> '

Altering the subtitle(.srt) format, replace ',' with ' --> '

我有一堆视频,其中的字幕文件(.srt) 如下所示。

0:00:22.540,0:00:25.440
Hello this is a test

VLC 解释错误,只在屏幕上显示时间 0:00:25.440。

所以,我打算把所有的\d,\d替换成\d-->\d

我可以很容易地搜索 \d,\d,但我如何将它替换为 \d-->\d

Input   : 0:00:22.540,0:00:25.440
Output  : 0:00:22.540 --> 0:00:25.440
Expected

我试过了

powershell -Command "(gc myFile.srt) -replace '0,0', '0 --> 0'

但是我用了0,0来搜索和替换?我怎样才能做到所有数字。

有人可以帮忙吗?我在 Windows 8.1

您可以将 look arounds 用作

(?<=\d),(?=\d)
  • (?<=\d)往后看。检查 , 前面是否有数字。
  • , 匹配 ,
  • (?=\d)向前看。检查 , 后面是否有数字。

Regex Demo

代码

powershell -Command "(gc myFile.srt) -replace '(?<=\d),(?=\d)', ' --> '

您也可以使用捕获组来执行与

相同的操作
(\d),(\d)

替换为

 -> 

Regex Demo

代码

powershell -Command "(gc myFile.srt) -replace '(\d),(\d)', ' --> '

Notepad++ 演示: