Я пытаюсь получить текст заголовков для анализа, но я застрял, пытаясь получить текст субтитров в удобочитаемом виде. Я использую регулярные выражения для получения чисел подписей, времени подписей и речи. Когда дело доходит до речи, я получаю много пустых строк, потому что субтитры настроены как изображение. Итак, Я просто хочу создать список, который содержит только речь, а не пустые строки . Список, который я получаю, тоже в картинке.
Вот пример из подписи:
1
00:00:00,030 --> 00:00:05,370
so here we are at the offices of my
2
00:00:02,240 --> 00:00:05,370
3
00:00:02,250 --> 00:00:07,319
accountants of your Eric Biddle mr.
4
00:00:05,360 --> 00:00:07,319
5
МОЙ СПИСОК
CAPTIONS :
import re
filename = r'test_subtitle.srt'
pattern_number = re.compile('^\d+$')
pattern_time = re.compile('^[\d]+:[\d]+:[\d]+,[\d]+ --> [\d]+:[\d]+:[\d]+,[\d]+$')
pattern_speech = re.compile("^[A-Za-z,;'\"\\s]+[.?!]*$")
for i, line in enumerate(open(filename)):
for match in re.findall(pattern_number, line):
print(match)
for i, line in enumerate(open(filename)):
for match in re.findall(pattern_time, line):
print(match)
speech = []
for i, line in enumerate(open(filename)):
for match in re.findall(pattern_speech, line):
speech.append(match)
print(speech)