V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PrinSoul
V2EX  ›  正则表达式

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

  •  
  •   PrinSoul · 2019-07-23 04:09:12 +08:00 · 3867 次点击
    这是一个创建于 1958 天前的主题,其中的信息可能已经有所发展或是发生改变。

    替换前 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.

    第 1 条附言  ·  2019-07-23 09:36:40 +08:00
    这个需求是用于下面这种文档
    1
    00:28:15.067 --> 00:28:18.367
    That was good. Great job.

    2
    00:28:15.067 --> 00:28:18.367
    That was good. Great job.

    3
    00:28:15.067 --> 00:28:18.367
    That was good. Great job.
    第 2 条附言  ·  2019-07-23 09:39:10 +08:00
    是将从 nf 下载的 vtt 字幕文件转成播放器支持的 str 格式(差着最后一步)
    11 条回复    2019-07-23 09:33:27 +08:00
    geelaw
        1
    geelaw  
       2019-07-23 04:14:46 +08:00 via iPhone
    如果时间总是出现在一行开头且字幕总是不出现在一行开头,则可以

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



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

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

    因为 srt 格式固定
    PrinSoul
        9
    PrinSoul  
    OP
       2019-07-23 09:29:50 +08:00 via iPhone
    @maplejaw 是的 vtt 转 srt,就差这最后一步
    PrinSoul
        10
    PrinSoul  
    OP
       2019-07-23 09:31:03 +08:00 via iPhone
    @geelaw 这个每一行前面实际上还会有一行独立的数字( srt 字幕文件)
    PrinSoul
        11
    PrinSoul  
    OP
       2019-07-23 09:33:27 +08:00 via iPhone
    @sxfscool 我用 sublime text 都支持正则替换
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:52 · PVG 19:52 · LAX 03:52 · JFK 06:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.