众所周知,.srt
文件由具有 3 个底层部分的块构成,如下例所示:
228
00:39:06,680 --> 00:39:13,460
Lorem ipsum dolor sit amet
现在,让我们假设在隐藏式字幕中有一些摘录代表演讲者的演讲,引用了别人的文学作品,比如这个额外的例子:
228
00:39:06,680 --> 00:39:13,460
According to Erasmus, book 1, chapter 23...
问题:我希望通过删除帧号仅从 中提取文本,帧持续时间不擦除,但是,通过VIM.srt
作为引用出现在隐藏式字幕中的基数。
尝试:通过使用正则表达式和substitute
命令,我找到了一种“删除”持续时间行:%s/\d\d:\d\d:\d\d,\d\d\d --> \d\d:\d\d:\d\d,\d\d\d/ /g
和具有相同想法的数字的方法,除了现在搜索每个基数条目并选择/gc
绕过文本中的那些。
但是,我有相当数量的此类引文要提取,因此应该保留基数。选择yes/no
所有条目变成了一项乏味的任务。
由于我在使用方面缺乏技巧regex
,我可以说至少有一种不那么“丑陋”的方式来执行上述策略。也许,一种更优雅的方式不仅可以删除不需要的部分,还可以恢复没有框架和持续时间行的原始文本,例如:
Lorem ipsum dolor sit met
According to Erasmus, book 1, chapter 23...
有人知道该怎么做吗?