首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改文本文件中的时标,而不是其他数字或字母?

如何修改文本文件中的时标,而不是其他数字或字母?
EN

Stack Overflow用户
提问于 2019-04-25 23:18:41
回答 1查看 65关注 0票数 0

我正在制作一个程序,以加快和减缓部分视频,我想支持修改时间的字幕匹配。如何在文本文件中只搜索时间码并修改它们?

这是srt字幕文件。Timecodes采用HH.MM.SS,mmm格式。这些文件包含其他数字(如十六进制颜色),所以我只想搜索特定时间码格式的数字。

我已经有了一个函数,它以秒为单位获取输入时间,并以秒为单位返回输出时间。在“timecode”格式和时间(以秒为单位)之间转换也应该相当容易。

这是文本文件的一个示例:

代码语言:javascript
复制
1
00:00:00,000 --> 00:00:09,138
<font color="#CCCCCC">alexxa</font><font color="#E5E5E5"> who's your favorite president</font>

2
00:00:04,759 --> 00:00:12,889
<font color="#E5E5E5">George Washington</font><font color="#CCCCCC"> has my vote Alexa</font>

剩下的唯一的事情是,如何只接收timecodes,然后用新的timecodes替换它们?不知道从这里到哪里。避免过多地遍历文本文件也很好,因为会有很多时间代码需要更改。

EN

回答 1

Stack Overflow用户

发布于 2019-04-26 00:06:02

考虑到它是文本格式,匹配(并替换)文件中时间戳格式的最有效方法是使用正则表达式:https://en.cppreference.com/w/cpp/regex

您希望这样做:您从源文件中逐行读取,对于RE匹配的每一行,您将其替换为新的时间戳(即创建一个新行),并输出到一个新文件(或一个缓冲区,稍后可以在完成处理后提交到源文件中)。在读取时,其他行( RE不匹配)将完整地输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55858810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档