Jak vymazat část textu v jiném jazyce ze souboru? Vyřešeno

...

Moderátor: Mods_senior

bluenite
Level 2
Level 2
Příspěvky: 216
Registrován: květen 06
Bydliště: Praha8
Pohlaví: Nespecifikováno
Stav:
Offline

Jak vymazat část textu v jiném jazyce ze souboru?

Příspěvekod bluenite » 01 lis 2021 23:10

Potřebuji upravit jeden titulkový soubor (původně *.ass), který je dvojjazyčný – EN+Korejština, viz screen.
Ten druhý bych potřeboval dát pryč. Existuje na to nějaký automatizovaný postup, místo ručního mazání? Program, nebo něco jiného třeba?
Díky za radu
Petr
Přílohy
ss111.jpg

Reklama
zeus
Elite Level 10.5
Elite Level 10.5
Příspěvky: 11113
Registrován: únor 12
Bydliště: Pankrac
Pohlaví: Muž
Stav:
Offline

Re: Jak vymazat část textu v jiném jazyce ze souboru?

Příspěvekod zeus » 02 lis 2021 09:56

Pochybuji, kdyz je ten caj takhle nepravidelne rozsypany.
Jo, kdyby stacilo mazat kazdy paty radek...
Prazaci jo ty se maj, az kdyz si me zavolaj..

Serg01
Level 1
Level 1
Příspěvky: 66
Registrován: červenec 21
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak vymazat část textu v jiném jazyce ze souboru?

Příspěvekod Serg01 » 02 lis 2021 15:11

Jestli je korejská verze (i když tohle spíš vypadá jako kanji, korejština má jiné písmo, ne?) vždy pod časem ve videu, tak by stačil Notepad++, funkce vyhledat a nahradit (Ctrl + H), a regulérní výraz, např.:

Find what:

Kód: Vybrat vše

(\d+\r\n\d{2}:\d{2}:\d{2},\d{3} --> \d{2}:\d{2}:\d{2},\d{3}\r\n)(.+)\r\n

Replace with:

Kód: Vybrat vše

$1

je potřeba vybrat "Search mode" jako "Regular expression", a nezaškrtávat ". matches newline" hned vedle toho, jen nevím jak to bude přeložené v české verzi Notepadu++

Odstraní každý řádek, který následuje po:

Kód: Vybrat vše

# (jakýkoliv počet cifer až do konce řádku)
##:##:##,### --> ##:##:##,###
(tento řádek bude odstraněn)
následující řádek zůstane

kde # představuje jakoukoliv číslici

Snad tam nejsou na konci řádků žádné mezery, jinak by to tenhle regulerní výraz nenašel
A místo \r\n možná bude stačit jen \n (záleží jestli ten soubor byl vytvořený ve windowsu nebo v linuxu)

Btw, kdyby jsi to opravdu chtěl zkusit, tak doporučuji nejdřív vytvořit kopii, a hrát si s tou kopií :D

bluenite
Level 2
Level 2
Příspěvky: 216
Registrován: květen 06
Bydliště: Praha8
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak vymazat část textu v jiném jazyce ze souboru?

Příspěvekod bluenite » 02 lis 2021 17:43

jojo mýlka, není to korea ale čína...
Každopádně by to snad fungovalo, ale právě tady není pravidelnost vymazání každěho x řádku. Někde je řádek pouze en...
viz dva soubory v příloze - originál ass před konverzí a pak ten konvertovaný srt, který se blíží více mému použití.
Zbývá ruční mazání, což mě přivedlo k původnímu dotazu.
Přílohy
[SubtitleTools.com] North.America.E06.Revealed.1080p.BluRay.x264-WiKi.zip
(77.84 KiB) Staženo 36 x

Serg01
Level 1
Level 1
Příspěvky: 66
Registrován: červenec 21
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak vymazat část textu v jiném jazyce ze souboru?

Příspěvekod Serg01 » 02 lis 2021 20:59

Here.

Šlo to celkem jednoduše tímto regexpem (zdroj zde):

Kód: Vybrat vše

\n.+[^\x00-\x7F].+\n -> non-ASCII znak kdekoliv na řádku, ale minimálně 3 znaky

Ten našel a odstranil každý řádek, který obsahoval "non-ASCII" znak.
Ale musely tam být minimálně 3 znaky, jelikož některé řádky měly jen jedno nebo dva čínské znaky, tak to bylo potřeba projet celý ještě jednou těmito regexpy:

Kód: Vybrat vše

\n[^\x00-\x7F].+\n -> non-ASCII znak na začátku řádku

Kód: Vybrat vše

\n.+[^\x00-\x7F]\n -> non-ASCII znak na konci řádku

Ale teď mě napadá, že možná stačilo místo kvantifikátoru plusu (minimálně jeden odpovídající znak) použít u tečky (jakýkoliv znak) jako kvantifikátor hvězdičku (0 až neomezeně odpovídajících znaků)

Kód: Vybrat vše

\n.*[^\x00-\x7F].*\n

A nemusel bych to nechat prohledávat 3x :D
Ty tečky tam jsou proto, že občas byly na řádku nejen všechno čínské znaky, ale například čísla, která už jsou ASCII znaky.

Každopádně teď tam vznikly občas časy, pro které není žádný text, nevím co to udělá v přehrávači.
Například:
9
00:00:31,920 --> 00:00:34,520
and its most spectacular.

10
00:00:58,030 --> 00:01:04,330

11
00:01:07,330 --> 00:01:10,330

12
00:01:35,230 --> 00:01:39,260
Day 1, filming in Idaho's Pioneer Mountains,

Šlo by to takové výskyty najít a odstranit dalším regexpem, ale pak se rozbije číslování (po 9 bude najednou 12).
A tím se už fakt dostáváme k původnímu dotazu - nějký program který by opravil i číslování :D
Přílohy
[SubtitleTools.com] North.America.E06.Revealed.1080p.BluRay.x264-WiKi-EN-only.zip
(21.31 KiB) Staženo 28 x

bluenite
Level 2
Level 2
Příspěvky: 216
Registrován: květen 06
Bydliště: Praha8
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Jak vymazat část textu v jiném jazyce ze souboru?  Vyřešeno

Příspěvekod bluenite » 03 lis 2021 22:20

dobrá duše mi poslala verzi en titulkú bez tohoto mixu, takže problémek vyřešen.
díky moc za všechny reakce
serg01 zvlášť, za ty 'non-ASCII znak' to je to co lze použít nejspíš i pro jiné případy. šikovná hlava.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Windows 10 IoT Enterprise LTSC 2021 (podpora 2031) - v Českém jazyce? CZ lokace? Kde levně koupit licenci - link? Odkaz?
    od IMB » 30 črc 2024 13:14 » v Windows 11, 10, 8...
    3
    3935
    od petr22 Zobrazit poslední příspěvek
    30 črc 2024 21:38
  • USB-C hub nefunguje na jednom ASUS notebooku s Thunderbolt 4, na jiném ano
    od Atjov1 » 20 bře 2025 19:58 » v Problémy s hardwarem
    10
    5874
    od Atjov1 Zobrazit poslední příspěvek
    03 čer 2025 14:53
  • Sejmuti textu ve win 11 - vystřižky Příloha(y)
    od L.L » 08 říj 2024 21:17 » v Programy ke stažení
    1
    2667
    od petr22 Zobrazit poslední příspěvek
    10 říj 2024 11:22
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    10
    4688
    od Riviera kid Zobrazit poslední příspěvek
    16 čer 2025 06:56
  • Velikost souboru a složek na disku
    od L.L » 05 úno 2025 11:50 » v Vše ostatní (sw)
    5
    3515
    od L.L Zobrazit poslední příspěvek
    05 úno 2025 17:42

Zpět na “Vše ostatní (sw)”

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 4 hosti