You are here: PSPad forum > České diskuzní fórum > Re: Jak vyhledat určité písmeno na konci slova

Re: Jak vyhledat určité písmeno na konci slova

Goto Page: 1 2 Next

#1 Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-18 15:13 | IP: IP Logged

Zdravím. Jak vyhledat určité písmeno na konci slova?
Příklad věty: Láďa neměl k lodi klíče a brečel.
Potřeboval bych najít "l" jen ve slově "neměl" a "brečel".
Něco jsem zkoušel, ale dopracoval jsem se buď k výběru všech "l,L" ve větě, nebo k "l" na konci věty.
sad smiley

Options: Reply | Quote | Up ^


#2 Re: Jak vyhledat určité písmeno na konci slova

Posted by: pspad | Date: 2022-09-18 16:16 | IP: IP Logged

Hledat: l\b
[x]Regularni vyrazy

\b je konec slova

Options: Reply | Quote | Up ^


#3 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-18 18:08 | IP: IP Logged

Tak to nějak nefunguje. Vybereto všechna "l" ve větě. Stejný výsledek i s "l\B".

Options: Reply | Quote | Up ^


#4 Re: Jak vyhledat určité písmeno na konci slova

Posted by: pspad | Date: 2022-09-18 18:29 | IP: IP Logged

Nevybere. Nesmite se ridit tim, co je zvyrazneno. Zkuste hledat dalsi, pomoci F3

Options: Reply | Quote | Up ^


#5 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-18 20:35 | IP: IP Logged

Je to nějaký šišatý. Když použiju F3, tak z "Láďa" to správně přeskočí na "neměl", slovo "lodi" správně vynechá pak to ale nesprávně přeskočí na "klíče" a pak na "brečel. Když jsem to zkoušel na delším textu tak to správně přeskakuje na slova s "l" na konci, ale občas to skočí i na slovo s "l" uvnitř, například "Dělám".

Options: Reply | Quote | Up ^


#6 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-18 21:04 | IP: IP Logged

Tak jsem procházel delší text s F3 a zjistil jsem že to "l\b" nemá rádo češtinu. Když za "l" následuje písmeno "é,í,š,á", tak to hledání vyhodnotí jako "l" na konci slova. Proto to v té zkušební větě nesprávně označí slovo "klíče". Jinak třeba u angličtiny u slova "all" správně označí jen poslední "l". Takze u cestiny by to fungovalo jedine bez hacku a carek. yawning smiley

Options: Reply | Quote | Up ^


#7 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-18 22:01 | IP: IP Logged

Tak jsem chvíli googlil a našel jsem hranatou závorku se stříškou kde se zakazují uvedená písmena v ní. Vyhledají se všechny "l" v textu a pomocí F3 se přeskakuje po slovech kde je "l" na konci slova a vynechají se písmena "é,í,š,á".

Tedy asi takto: l\b[^éíšá]

Vypadá to, že to funguje.

Options: Reply | Quote | Up ^


#8 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-19 12:06 | IP: IP Logged

Dovětek: Asi záleží jaké konkrétní písmeno se hledá, tedy "kus od kusu". Když jsem ze zvědavosti zkoušel hledat v textu "ě" na konci slova příkazem "ě\b" tak to vyhledá pomocí F3 písmena "ě" uvnitř a na začátku slov. S příkazem "ě\B" to vyhledá s F3 správně "ě" na konci slov, ale... zase ty háčky! S F3 se vybere i "uvěříš", "těžko" atd. Takže výsledný příkaz je "ě\B[^šřž]".

Edited 1 time(s). Last edit at 2022-09-19 12:10 by martin2306.

Options: Reply | Quote | Up ^


#9 Re: Jak vyhledat určité písmeno na konci slova

Posted by: vbr | Date: 2022-09-20 09:03 | IP: IP Logged

Zdravím,
metaznaky \b a \B jsou v regulérních výrazech víceméně protikladné - mezi sebou se doplňují; \b označuje pozici (o nulovém rozsahu znaků) na slovní hranici - před začátkem nebo po konci slova; \B odpovídá jakékoliv jiné pozici (uvnitř slova nebo uvnitř neslovního řetězce - řady mezer apod.).

Pár zmíněných příkladů příkladů jsem zkoušel a zdají se fungovat správně (i s diakritikou ě\b se nenajde v "uvěříš" a najde např. v "tě").

Při zkratce F3 se opakuje hledání posledně použité v dialogu; pokud se ale mezitím dialog opět otevře, typicky načte do hledání zvýrazněný text - třeba nalezené "ě", místo předtím použitého výrazu "ě\b".

Mám pocit že v některé dřívější verzi PSPadu fungovaly tyto zástupné znaky \w \b aj. jen pro základní latinku; později ale i na běžné diakritické a jiné "zvláštní" znaky (problémy jsem zachytil s kombinovanými znaky diakritiky, skládanými zvlášť, třeba i jako nadepsané písmeno - aͤ, ale to je pro PSPad spíš okrajová záležitost).

Jde v tomto případě o nějakou aktuální verzi PSPadu?

(zde testováno s 5.0.7 (735), 32bit, Win 10).

vbr

Options: Reply | Quote | Up ^


#10 Re: Jak vyhledat určité písmeno na konci slova

Posted by: martin2306 | Date: 2022-09-23 21:19 | IP: IP Logged

Zdravím. Tak já mám asi starší verzi PSPadu:

5.0.6 (589), 64bit, Win 11

Zkusím najít novější verzi a znovu to vyzkoušet.

Options: Reply | Quote | Up ^


Goto Page: 1 2 Next





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