You are here: PSPad forum > České diskuzní fórum > Nahrazování řetězců podle regulárních výrazů

Nahrazování řetězců podle regulárních výrazů

#1 Nahrazování řetězců podle regulárních výrazů

Posted by: Yearling | Date: 2018-08-23 09:09 | IP: IP Logged

Zdravím, mám následující problém (PSPad 5.0.0) - jestliže se pokusím pomocí funkce "Nahradit" vložit do dlouhého řetězce v místech odpovídajících regulárnímu výrazu (a nebo i jen obyčejnému znaku) nový řádek, nový řádek se vloží jen před první výskyt znaku, ostatní výskyty jsou ignorovány.
Např.:

řetězec: aaaaaaaaaaaaaaaaaaaaaaaaa
najít: a
nahradit: \na

zaškrtnuto: Regulární výrazy

Dojde k nahrazení (tedy vložení nového řádku před každé "a") pouze u prvního znaku, ostatní výskyty jsou ignorovány.
To se děje i u komplikovanějších výrazů např

řetězec: [2018/08/22 21:07:03][2018/08/22 21:07:03][2018/08/22 21:07:03]
najít: \[2018\/08
nahradit: \n[2018/08

Je chyba v PSPad a nebo v zadání??

Edited 1 time(s). Last edit at 2018-08-23 09:09 by Yearling.

Options: Reply | Quote | Up ^


#2 Re: Nahrazování řetězců podle regulárních výrazů

Posted by: pspad | Date: 2018-08-23 10:37 | IP: IP Logged

Tam bude problém se zacyklením, protože vy hledáte a, to a nahradíte za nový řádek + a a tím pádem se bude nahrazovat i to další a za nový řádek.

Options: Reply | Quote | Up ^


#3 Re: Nahrazování řetězců podle regulárních výrazů

Posted by: vbr | Date: 2018-08-23 19:18 | IP: IP Logged

Zdravim,
myslim, ze jde o omezeni editoru u hledani a nahrazovani pro praci se zalomenim radku.
Nahrazovani (pomocich regulernich vyrazu) za retezec obsahujici \n funguje jen pri postupu od konce, tj. s umistenim kurzoru napr. na konec souboru a nastaveni smeru hledani (o) Nahoru v nahrazovacim dialogu.
(Hledani retezce s \n aktualne podporovano neni. Editor myslim pracuje interne po radcich.)
vbr

Options: Reply | Quote | Up ^


#4 Re: Nahrazování řetězců podle regulárních výrazů

Posted by: missaak | Date: 2019-03-06 15:29 | IP: IP Logged

Ahoj, drive (4.5.7) to fungovalo spravne az na vysledny pocet nahrazeni, kde to vypada, ze se slo opravdu rekurzivne pro zbytek textu po nahrazeni.

Vstup: jeden radek
a,b,c,d,e

Najit: ,
Nahradit: \n
Regularni vyrazy: zaskrtnuto
Rozsah: cely text

verze 4.5.7
kurzor na zacatku textu, smer hledani dolu
vysledek: 5 radku
informace: Hledany vyraz "," byl nahrazen 10x

kurzor na konci textu, smer hledani nahoru
vysledek: 5 radku
informace: Hledany vyraz "," byl nahrazen 4x

verze 5.0.1
kurzor na zacatku textu, smer hledani dolu (stejne chovani pro cely text)
vysledek: 2 radky (1. vyskyt se nahradil)
informace: Hledany vyraz "," byl nahrazen 4x

kurzor na konci textu, smer hledani nahoru
vysledek: 5 radku
informace: Hledany vyraz "," byl nahrazen 4x

Options: Reply | Quote | Up ^






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