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

时间:2015-03-11 05:09:33

标签: regex powershell batch-file replace subtitle

我有一堆视频,其中字幕文件(.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上

1 个答案:

答案 0 :(得分:1)

您可以使用look arounds作为

(?<=\d),(?=\d)
  • (?<=\d)向后看。检查,是否以数字为前提。
  • ,匹配,
  • (?=\d)展望未来。检查,后面是否有数字。

Regex Demo

<强>代码

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

您还可以使用捕获组执行与

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

替换为

$1 -> $2

Regex Demo

<强>代码

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

Notepad ++演示:

enter image description here