回答編集履歴

1

追記

2018/06/08 07:54

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -19,3 +19,75 @@
19
19
  `[-->]`が諸悪の根源です。
20
20
 
21
21
  この書き方をすると、ASCIIコード`-`以上`>`以下の文字が全削除されます。
22
+
23
+
24
+
25
+ ただし
26
+
27
+ ---
28
+
29
+ 正規表現を使うのは、もう少し局所的にした方がわかりやすいと思います。
30
+
31
+ ```Python
32
+
33
+ import re
34
+
35
+
36
+
37
+
38
+
39
+ time_pattern = re.compile(r'\d{2}:\d{2}.\d{3} --> \d{2}:\d{2}.\d{3}')
40
+
41
+
42
+
43
+ def vtt_strip(rows):
44
+
45
+ for row in rows:
46
+
47
+ # 空行は無視
48
+
49
+ if not row:
50
+
51
+ continue
52
+
53
+
54
+
55
+ # タイムコードは無視
56
+
57
+ if time_pattern.match(row):
58
+
59
+ continue
60
+
61
+
62
+
63
+ yield row
64
+
65
+
66
+
67
+
68
+
69
+ with open('sample.vtt') as f:
70
+
71
+ vtt_rows = [row.strip() for row in f.readlines()]
72
+
73
+
74
+
75
+
76
+
77
+ vtt_string = '\n'.join(vtt_strip(vtt_rows[1:]))
78
+
79
+ print(vtt_string)
80
+
81
+ ```
82
+
83
+
84
+
85
+ **実行結果** [Wandbox](https://wandbox.org/permlink/TULddqrZHjHrtaEE)
86
+
87
+ ```plain
88
+
89
+ 4月の勉強講座へようこそ!
90
+
91
+ 今日はこの問題を解説していきたいと思います
92
+
93
+ ```