将字幕文件时间轴中的“.”替换成“,”而不影响到下方英文里面的标点符号,求一个好方法

2019-07-23 04:09:12 +08:00
 PrinSoul

替换前 00:28:15.067 --> 00:28:18.367 That was good. Great job.

替换后 00:28:15,067 --> 00:28:18,367 That was good. Great job.

3896 次点击
所在节点    正则表达式
11 条回复
geelaw
2019-07-23 04:14:46 +08:00
如果时间总是出现在一行开头且字幕总是不出现在一行开头,则可以

^([0-9:]*)\. 替换为 $1,



^([0-9:,]*[ ]*-->[ ]*[0-9:]*)\. 替换为 $1,

用多行模式 so that ^ 匹配行的开头
widewing
2019-07-23 04:29:27 +08:00
s/(\d\d:\d\d:\d\d)\.(\d{3})/\1,\2/g
sxfscool
2019-07-23 07:42:59 +08:00
vscode 里用正则换
faketemp
2019-07-23 08:13:49 +08:00
(\d)\.(\d) 替换为\1,\2
opengps
2019-07-23 08:56:23 +08:00
点号前后是数字才替换,是字母不提换,这确实正则适配
maplejaw
2019-07-23 09:06:12 +08:00
vtt 转 srt ?直接正则匹配时间就行,网上也有现成的脚本。
klesh
2019-07-23 09:11:39 +08:00
这个时间格式是定长的,而且在行头,所以需要替换的位置也是固定的。
regist
2019-07-23 09:16:25 +08:00
第一列第三列
或者干脆前面两句号

因为 srt 格式固定
PrinSoul
2019-07-23 09:29:50 +08:00
@maplejaw 是的 vtt 转 srt,就差这最后一步
PrinSoul
2019-07-23 09:31:03 +08:00
@geelaw 这个每一行前面实际上还会有一行独立的数字( srt 字幕文件)
PrinSoul
2019-07-23 09:33:27 +08:00
@sxfscool 我用 sublime text 都支持正则替换

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/585257

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX