Czasem zdarza się, że trafiają się napisy do filmu delikatnie popsute np. tak:
00:00:34:40 00:00:35:36 napis1
00:00:35:40 00:00:36:50 napis2
00:00:36:60 00:00:37:76 napis3
[…]
Odtwarzacz każdy napis wyświetli nam tak:
40 00:00:35:36 napis1
40 00:00:36:50 napis2
60 00:00:37:76 napis3
[…]
Denerwujące, nie? Czasem nawet mądry SubEdit na nic się nie zda. Trzeba by wyciąć co nieco samemu. Funkcja Znajdź i zamień we Writerze obsługuje wyrażenia regularne, czyli możemy kazać mu wyszukać i zmienić ciągi znaków pasujące do zapytania. Aby uaktywnić należy w Znajdź i zamień kliknąć więcej opcji i tam zaznaczyć wyrażenia regularne.
Chcemy pozbyć się oznaczenia pary cyfr milisekund i 4 par cyfr zdublowanego czasu. No to piszemy:
[:digit:]{2} [:digit:]{2}:........
Powyższy zapis oznacza „znajdź mi 2 dowolne cyfry, spację, znowu 2 dowolne cyfry, dwukropek i 8 dowolnych znaków”. Gdyby nie trzeba było wycinać 2 pierwszych cyfr, to na pierwszy rzut oka obydwa oznaczenia czasu byłyby takie same. Szukamy więc elementu odróżniającego. Takim elementem będzie np. spacja przed prawym ciągiem. Byłoby to wtedy spacja[:digit:]{2}:......
Co wpisać w pole zastąp? Jeżeli chcemy pozbyć się znalezionych ciągów — to nie wpisujemy nic. W moim przypadku musiałem wpisać spację żeby ładnie oddzielił czas od napisów.
Jeżeli chcecie coś zrobić z odnalezionym ciągiem, np. otoczyć go nawiasami klamrowymi, to w pole zastąp można wpisać {&}
Bardziej złożone operacje na ciągach (wybierz mi coś tam, przytnij i zamień na coś tam) najlepiej robić na raty w kilku prostszych krokach. Po więcej informacji odsyłam np. tutaj.
