You are here: PSPad forum > České diskuzní fórum > Re: Nahrazení konce řádku mezerou

Re: Nahrazení konce řádku mezerou

#1 Nahrazení konce řádku mezerou

Posted by: sir_honrad | Date: 2021-02-11 08:23 | IP: IP Logged

Dobrý den, potřeboval bych nahradit konce řádků mezerami, a aby to nebylo tak jednoduché, tak jen v určitých případech. Konkrétně - každý řádek má končit nějakým číslem. Tzn. Pokud řádek končí libovolnou číslicí, je to v pořádku a toto odřádkování má zůstat zachováno. Pokud končí čímkoli jiným, má být odřádkování nahrazeno mezerou. Jde to v PSPad nějak zařídit?
Děkuji za odpovědi.

Options: Reply | Quote | Up ^


#2 Re: Nahrazení konce řádku mezerou

Posted by: pspad | Date: 2021-02-11 11:35 | IP: IP Logged

Dobrý den

V současné verzi, kdy regularní výrazy funguje jen v rámci řádku to jednoduše nejde.
Šlo by napsat skript (VBScript, JScript, ...), který to udělá - vezme text okna editoru, nahradí přes regulární výrazy příslušné konce řádků a vrátí to zpět.

V nastavení programu / Integrace do systému si povolte skriptování.

Já si posunu v seznamu předělání hledat/nahradit.

Options: Reply | Quote | Up ^


#3 Re: Nahrazení konce řádku mezerou

Posted by: vbr | Date: 2021-02-11 23:35 | IP: IP Logged

sir_honrad:
Dobrý den, potřeboval bych nahradit konce řádků mezerami, a aby to nebylo tak jednoduché, tak jen v určitých případech. Konkrétně - každý řádek má končit nějakým číslem. Tzn. Pokud řádek končí libovolnou číslicí, je to v pořádku a toto odřádkování má zůstat zachováno. Pokud končí čímkoli jiným, má být odřádkování nahrazeno mezerou. Jde to v PSPad nějak zařídit?
Děkuji za odpovědi.

Zdravim,
pro nahrazeni zalomeni radku jde pouzit i nektery z existujicich skriptu, asi nejvsestrannejsi je
phReplace - obsahuje i primo viceradkovy uzivatelsky dialog k nahrazeni nebo hledani.
dostupny ze stranky:
www.pspad.com

nahrazeni v rezimu regulernich vyrazu by pak bylo napriklad
najit (zadani bez uvozovek nize, vcetne odradkovani:
"(\D)
"

nahradit za (bez uvozovek, s mezerou na konci)
"$1 "

Pokud by se vyskytly problemy s instalovanim phreplace (verze, opravneni...), jde pouzit i jednodussi skripty
napr. (bez zaruky) i muj stary javascript
www.vbr.wz.cz

vyraz pro nahrazovaci funkci by tady byl:
/(\D)\r\n/g, "$1 "

(v obou pripadech vyrazy funguji, pokud na radce je na konci alespon jeden neciselny znak (regex \D), tj. prazdna radka jen s odradkovanim se takto na mezeru nenahradi).

Alternativni vicekrokovy postup s aktualnimi funkcemi PSPadu bez pouziti skriptu by bylo vlozit jednoznacny oddelovac na konec kazdeho radku - funkci Upravy: Operace s radky: Vlozit text do radku (je treba pouzit znak nebo retezec, ktery jinak v textu neni, napr.: <<<ODRADKOVANI>>> )
potom sloucit radky - Upravy: Operace s radky: Spojit radky

Pak by slo vlozit odradkovani na mista kde vlozeny znak zastupujici odradkovani nasleduje po cislici (v pspad posunout kurzor na konec textu, nahradit regulernim vyraze ve smeru nahoru), napr. nahradit
(\d)<<<ODRADKOVANI>>>

nahradit za (bez uvozovek):
"$1 "

nakonec pak nahradit <<<ODRADKOVANI>>> za mezeru.

Zdravim,
vbr

Options: Reply | Quote | Up ^


#4 Re: Nahrazení konce řádku mezerou

Posted by: sir_honrad | Date: 2021-02-12 15:38 | IP: IP Logged

Dobrý den,
moc děkuji za odpověď, vzhledem k tomu, že se skripty nemám žádné zkušenosti, rovnou jsem zkusil poslední postup a funguje přesně tak, jak potřebuju. Nechápu, že mě zrovna takhle jednoduchý a účinný řešení nenapadlo. smiling smiley

Každopádně vyzkouším i skripty, ať se posunu zase o kousek dál. Ještě jednou moc díky!

Edited 1 time(s). Last edit at 2021-02-12 15:40 by sir_honrad.

Options: Reply | Quote | Up ^






Editor PSPad - freeware editor, © 2001 - 2021 Jan Fiala, Hosted by Webhosting TOJEONO.CZ, design by WebDesign PAY & SOFT, code Petr Dvořák, Privacy policy and GDPR