Я бы использовал регулярное выражение, соответствующее строкам
00:00:08,486 --> 00:00:12,662
, а затем использовал бы Regex.Replace
с пользовательским MatchEvaluator
, который анализирует временной код, добавляет разницу во времени и возвращает новый временной кодв виде строки.
Простое регулярное выражение для временного кода будет
"^\s*(\d\d):(\d\d):(\d\d),(\d\d\d)\s*-->\s*(\d\d):(\d\d):(\d\d),(\d\d\d)\s*$"
Для оценщика вы можете построить два TimeSpan
значения из соответствующих полей совпадения, добавить времяРазница и построить результирующую строку, используя String.Format
.
Таким образом, вы можете загрузить весь текстовый файл в строку, используя File.ReadAllText
, обработать его и записать обратно, используя File.WriteAllText
, что делает ядроподпрограмма с тремя строками:)
PS: не забудьте использовать опцию RegexOptions.Multiline
, чтобы "^"
и "$"
работали правильно.