regex - 如何从成绩单中打印多个时间戳?
问题描述
我正在尝试从成绩单(.txt 文件)中打印所有现有的时间戳。
成绩单的简短摘录:
36
00:01:36,990 --> 00:01:39,119
Text...
37
00:01:39,119 --> 00:01:41,759
Text...
38
00:01:41,759 --> 00:01:43,799
Text...
到目前为止,我的代码如下所示:
import re
timestamps = []
linenum = 0
pattern = re.compile(r"\d{2}:\d{2}:\d{2},\d{3}\s-->\s\d{2}:\d{2}:\d{2},\d{3}")
for line in transcript:
linenum += 1
if pattern.search(line) != None:
timestamps.append(linenum, line.rstrip('\n'))
print(timestamps)
输出是……什么都没有。没有错误或其他任何东西。但我希望打印出所有包含时间戳的行。
我不知道代码有什么问题或如何解决。有人可以帮忙吗?将不胜感激。
谢谢!
解决方案
您需要将元组或列表附加到timestamps
列表中。
import re
timestamps = []
linenum = 0
pattern = re.compile(r"\d{2}:\d{2}:\d{2},\d{3}\s-->\s\d{2}:\d{2}:\d{2},\d{3}")
for line in transcript:
linenum += 1
if pattern.search(line):
timestamps.append((linenum, line.rstrip('\n')))
print(timestamps)
请参阅Python 演示。
输入像
12:12:12,234 --> 12:13:46,346
Blah
12:14:12,121 --> 12:15:89,678
Blah2
输出是
[(1, '12:12:12,234 --> 12:13:46,346'), (3, '12:14:12,121 --> 12:15:89,678')]
推荐阅读
- go - 将 JSONSchema 解析为 golang 中的结构类型
- lotus-notes - 视图刷新时出现“查询不可理解 (4000)”错误
- angular6 - 如何使用 ngx-select angular 6
- python - 在python中重置Range(start,end)中for循环的起始值
- java - 如何为返回由对象列表组成的响应实体的 api 获取 XML 响应
- windows - 如何远程检测 Windows 服务器是否已准备好登录
- c++ - 有没有办法在 C++ 中复合函数?
- angular - 从孙子访问父 CSS
- python - 在训练学习模型时优化 RAM 使用
- android - 使用 RxJava2 创建事件总线的现代方法是什么