[elektro] String egyeztetés? (kissé újratöltve)

Xorn toth.endre at gmail.com
Sun Jan 29 09:11:51 CET 2017


Szerintem ne akard feltalálni a spanyolviaszt. Ha van működő, kész
megoldása a dolognak, szép kihívás újat fabrikálni helyette, csak
kicsit kevés értelmét látom. :-)

Best regards,
Andy

Karoly Kovacs <koka55 at gmx.at> írta (2017. január 29. 8:54):
> Neked válaszolok Szigi, de igazán mindenkinek szól: köszönöm a sok ötletet.
> Közben kiderült, hogy a Boyer-Moore nagyon szimpatikus, de a tesztek közben
> az is kiderült, hogy nem fedi 100%-ban azt, ami én szeretnék.
> És ez úton kérek elnézést, mert pontatlanul fogalmaztam meg az igényemet!
> Akkor most módosítom: létezik-e olyan algoritmus, amely megmondja, hogy a
> "10fb4a" és a "10fb4b" mennyire hasonló? Vagy kissé átfogalmazva: kellene
> nekem az SQL LIKE megfelelője két stringre alkalmazhatóan.
> Guglizom persze ezerrel, de érdemi választ nem találtam. Találtam egy
> érdekes (és némileg misztikus) algoritmust, amely megmondja, hogy a két
> string hány %-ban hasonló, de ez azért nem az, amitől örömtáncot fogok
> lejteni. (Tényleg érdekes ez az algoritmus, alig lehet megfejteni, mit
> bűvészkedik, de végül tényleg működik.)
> Hogy kissé érthetőbb legyen, miben sántikálok: van egy saját gyártmányú
> képnézegető programom, évek óta fejlesztgetem, de csak magamnak, házi
> használatra. Ez - többek között - azt is tudja, hogy nem csak egy mappából
> nézegethetem a képeket, hanem tetszőleges mappákból állíthatom össze az
> aktuális kollekciót, amit nézegetek (aztán ezeket a kollekciókat egy SQL
> fáljban tárolom, s később bármikor újra előszedhetem - de ez most nem is ide
> tartozik). És ha van mondjuk ezer db nyaralási, családi vagy akár szexfotóm
> :))), amelyeknek egy jó pár százalékát az elmúlt sok évben kissé
> átszerkesztettem (pl. gimp, PS), majd a módosított fotókat eltárolgattam
> modjuk xxxxa.xxx, xxxxb.xxx néven (nem feltétlenül abba a mappába, ahol a
> kiinduló fotó volt), akkor most azt szeretném elérni, hogy ha a
> képnézegetőmben egy adott képet nézek, és mondjuk "S" (similar) gombot
> nyomok, akkor hozza föl a módosított képeimet is. Pillanatnyilag van erre
> egy egyszerű algoritmusom, magam fabrikáltam anno, jól is működik, de ez
> valóban csak az xxxx.xxx, xxxxa.xxx, ... xxxxn.xxx formájó filenevekkel
> működik. Ha viszont találnék egy alkalmas algoritmust, akkor nem lenne
> ennyire kötött a módosított filenév, hanem lehetne bámi más, pl.
> xxxx_1.xxx,... vagy xxxx(1).xxx, stb.
> Megj.: esetleg gordiuszi csomó megoldásként az is eszembe jutott, hogy nem
> is memóribeli fájlnév tömbökkel kellene bűvészkednem, hanem a valódi SQL
> LIKE függvénnyel, de ehhez nagyon jelentősen át kellene írnom a programomat:
> az aktuális kollekció fájlneveiből kellene csinálni egy temp SQL táblát és
> abban LIKE-al keresni. Nem ördöngősség, de mégis komoly beavatkozás lenne a
> programban. Ha viszont nem marad más, elegánsabb megoldás, akkor erre fogok
> fanyalodni.
> Igaz, a mostani levélben felvetett problámámat ez sem oldja meg, hiszen ha
> épp a "10fbe.jpg"-t nézem, akkor erre nem igazán tudok LIKE kifejezést
> találni, mert az eredeti név lehet "10fb.jpg" is, de lehet "10f.jpg" is (és
> így tovább). Igaz, ez a probléma akkor is fennáll, ha bármilyen elegáns
> algoritmust találunk, másrészt nem eléggé életszagú, hogy a "10.jpg" képnek
> létezne "10fbe.jpg" nevű módosítása. :)
> Lehet, hogy csak adminisztratív eszközökkel oldhatom meg a problémát? Pl.
> kötelezően előírom magamnak, hogy a képmódosításokat mondjuk "xxxx_v1.xxx",
> "xxxx_v2.xxx", stb. neveken tárolom.
>
> Elnézést a szómenésért, de talán így jobban együtt tudunk gondolkodni.
> Köszönöm, ha tudtok ötleteket adni!
> Károly
>
> SZIGETI Szabolcs wrote:
>>
>> Hali!
>>
>> Mondjuk annyival kiegészíteném, hogy azért függ attól, hogy mit szeretnél
>> csinálni. Ha 7 betűs stringekben 3 betűseket keresni, akkor valószínűleg a
>> triviális betűnként végigmegyek és hasonlítok bőségesen elegendő, ami van
>> a
>> C standard library-ben, vagy szinte bármelyik más nyelvében. Amúgy meg kb.
>> 5 sor.  Ha tízezer karakteres stringekben kell ötszáz karakterest
>> megtalálni, akkor valószínűleg érdemes bevetni pl. az idézett ügyesebb
>> algoritmusokat.
>>
>> Szabolcs
>>
>>
>> 2017. január 28. 10:07 SZIGETI Szabolcs írta, <szigiszabolcs at gmail.com>:
>>
>>> Hali!
>>>
>>> Boyer-Moore módszer.
>>>
>>> Szabolcs
>>>
>>> 2017.01.28. 9:27 ezt írta ("Karoly Kovacs" <koka55 at gmx.at>):
>>>
>>>> Rosszul aludtam, takonnyal van tele a búrám, nem jár az agyam.
>>>>
>>>> Keresek egy egyszerű megoldást, algoritmust stringek egyeztetésére.
>>>> Legjobb, ha példát írok: "10f4" része-e pl. az "abc10f4xyx"-nek?
>>>> Vagy pl: "10f4" része-e pl. az "abc10f4"-nek?
>>>> Ugyanígy: "10f4" része-e pl. az "10f4xyx"-nek?
>>>>
>>>> Tuuudom, regexp. De mondom, hogy fáradt vagyok!
>>>>
>>>> Károly
>>>>
>>>> -----------------------------------------
>>>>          elektro[-flame|-etc]
>>>
>>>
>>>
>> -----------------------------------------
>>           elektro[-flame|-etc]
>>
>
> -----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list