-
Mobilarena
Új hozzászólás Aktív témák
-
válasz
Weareus #15816 üzenetére
Van két szólistám, amit notepad ++-ban szeretnék összerakni egybe
Itt ezen a ponton nem értettem, hogy hogyan jön össze egy szövegszerkesztő két zenésszel.
Ilyenkor azokat a sorokat, (minden sorban pontosan egy szó van), amik kétszer v. többször fordulnak elő, kitörli, de egyet meghagy belőle.
A kérdés az, hogy melyiket?Az elsőt hagyja meg.
-
kovisoft
őstag
válasz
Weareus #15534 üzenetére
Ha a címszavak mindig a sor elején vannak, és amennyiben több címszó van egy sorban, úgy mindig vesszővel vannak elválasztva, akkor a Domonkos által javasolt cserét lehet úgy módosítani, hogy csak az olyan szóköztől kezdje a törlést, amit nem előz meg egy vessző:
Find: ([^,]) .*$
Replace: \1 -
Domonkos
addikt
válasz
Weareus #15532 üzenetére
Nincs notepad++-om, hogy ki tudjam probalni, de a
.*$
csereje az ures stringre meg kell hogy oldja. (igen, az ott egy space a pont elott)Persze itt is jatszik, hogy megnyitod tablazatkezelovel, hogy a space az elvalasztokarakter es torolsz minden oszlopot, ami nem kell...
-
kovisoft
őstag
válasz
Weareus #15527 üzenetére
Ha továbbra is Notepad++-ban akarod megoldani, akkor olyan reguláris kifejezést kell használni, ami pl. a </b> és <b> közötti részeket kitörli. Kérdés, hogy egy sorban lehet-e több címszó? Ha lehetséges, akkor szükség lehet több lépésre:
1. Lecserélni egy sortörésre egy adott soron belül az előző címszót záró </b> és a következő címszót kezdő <b> közötti akármit (lazy ? operátor kell, nehogy a köztes <b>-k is törölve legyenek):
Find: </b>.*?<b>
Replace: \n2. Ugyanaz, mint az előbb, csak a sor elejétől a kezdő <b>-ig, és sortörés sem kell:
Find: ^.*?<b>
Replace: (üres string)3. Ugyanaz, mint az előbb, csak az utolsó </b>-től a sor végéig, és itt sem kell sortörés:
Find: </b>.*?$
Replace: (üres string)Szerk: Feltételeztem, hogy a bold szöveg <b>címszó</b> formában van a file-ban, de természetesen más markuppal is hasonlóan megy a dolog.
-
Domonkos
addikt
válasz
Weareus #15527 üzenetére
En innen
grep -o
-val mennek tovabb. - nem tudom, hogy a te OS-eden ennek mi a megfeleloje. Igazabol jo lenne latni is a mostani allapotot, legalabb a relevans resznek egy reszletet.Html-t akarmilyen szovegszerkesztovel meg tudsz nyitni. Ha az sikerul, akkor a<b>
es</b>
tagek kozti reszek lesznek szamodra erdekesek. Ezeket kellene majd kivagnod.
Sry. Ezzel teljesen becsaptalak volna. -
kovisoft
őstag
válasz
Weareus #15520 üzenetére
A pdf értelmezésében nem nagyon tudok segíteni. Talán a Ghostscript tud olyat, hogy pdf-et valamilyen más szövegformátumra konvertál, esetleg olyanra is, ami megőrzi a betűtípust. A pdf-fel ugyanis az a baj, hogy nem egy markup language, és talán úgy lesz félkövér valami, hogy más (félkövér) font-tal kell az adott szövegrészt renderelni. Nincs benne olyan, mint mondjuk html-ben a <b>...</b>.
Ha előáll egy olyan szövegfájlod, amiben valamilyen szabályszerűség alapján el lehet dönteni, hogy mi tartozik a címszavak közé, akkor arra lehet kreálni egy reguláris kifejezést. A pdf részt viszont passzolom.
-
kovisoft
őstag
válasz
Weareus #15517 üzenetére
Természetesen
ezt is meg lehet oldani reguláris kifejezésekkel. Első lépésként minden sor elejére beteszünk jó sok szóközt. Pl:
Find: ^
Replace: (jó sok szóköz, nem írom ide, mert úgysem látszik)Második lépés: minden sornak csak az utolsó N db karakterét hagyjuk meg. Pl. N=20 esetén:
Find: ^.*(.{20})$
Replace: \1Ez az utolsó 20 karakterből csinálja az 1. számú csoportot, és csak ezt hagyja meg a sorban.
Ha a szólistában lennének a szavak végén kóbor whitespace karakterek, akkor lehet úgy módosítani, hogy azokat is szedje le.Ezután lehet rendezni a sorokat (Edit/Line Operations/Sort Lines Lexicographically). Majd a végén le lehet szedni a fölösleges szóközöket a szavak elejéről:
Find: ^ *
Replace: (üres string) -
kovisoft
őstag
válasz
Weareus #15514 üzenetére
Ha Notepad++-ban szeretnéd megoldani (vagy bármilyen más szövegszerkesztőben, ami kezel reguláris kifejezéseket), akkor először biztosan kell tudni, hogy milyen szabály alapján lehet megtalálni, hogy meddig tart a szerző és hol kezdődik a mű címe.
Az egyik lehetőség, ha - mint írtad - a kettő között van egy tabulátor. Ekkor egy olyan reguláris kifejezést kell használni, amiben a csoportokat tabulátorok választják el. Pl:
Find: ^([^\t]*)\t([^\t]*)\t(.*)$
Replace: \2\t\1\t\3ahol a Find kifejezés 3 csoportot hoz létre, az 1. a név, ez az első tabulátorig tart, a 2. a cím, ez a második tabulátorig tart, a 3. az utolsó zárójeles rész. A Replace kifejezés pedig felcseréli az 1. és 2. csoportot, és tabulátort tesz közéjük.
Ha nincsenek a mezők tabulátorral elválasztva (mindenhol csak szóközök vannak), akkor nem igazán lehet automatikusan megoldani, hiszen nem tudjuk, hogy az első 2 szó a név, utána kezdődik a cím, vagy az első 3 (vagy akár több) szó a név (mert többnevű a szerző). De ha mondjuk feltételezzük, hogy a legtöbb sor esetében 2 szóból áll a név, akkor arra egy olyan reguláris kifejezést lehet használni, amelyik az első 2 szót rakja bele az első csoportba. Pl:
Find: ^(\S+ \S+) (.*) (\([^()]*\))$
Replace: \2 \1 \3ahol a Find szintén 3 csoportot hoz létre, de most az 1. csoport az első két szó szóközökkel elválasztva, a 2. csoport minden, ami az utolsó zárójeles részig tart, a 3. csoport az utolsó zárójeles rész a sorvége előtt (ugyanis lehet még zárójel a címben is). A Replace itt is felcseréli az 1. és 2. csoportot, de szóközt teszt közéjük.
Sajnos ez utóbbi esetben végig kell majd nézni a szöveget, hogy hol van olyan sor, ahol a szerző(k) neve nem csupán 2 szó.
-
Tigerclaw
nagyúr
válasz
Weareus #15355 üzenetére
Szerintem barmelyik, de lehet hogy van a neten keresztrejtveny kesziteshez valami library, talan meg framework is es akkor adott a nyelv is hozza. Nullarol kezdve is meg lehet csinalni, ha van sok idod. Jo lenne tudni, hogy milyen vegeredmenyt varsz. Konzolos app, vagy grafikus, hogy akarod kezelni a bevitelt. Kell-e hozza netes tamogatas, valamilyen kliens-szerver megoldasban, vagy egy single page web alkalmazas. Meg persze fontos az is, hogy milyen nyelvet ismersz.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy S23 Ultra - non plus ultra
- AliExpress tapasztalatok
- Linux kezdőknek
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- iPhone topik
- A fociról könnyedén, egy baráti társaságban
- PlayStation 5
- Nem fogy az S25 Edge, mégis lesz S26+?
- Spotify
- További aktív témák...
- 2db UK billes (146 / 147) - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Nvidia Quadro P400/ P600/ P620/ P1000/ T400/ T600/ T1000 - Low profile (LP) + RTX A2000 6/12Gb
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- 143 - Lenovo LOQ (15IRH8) - Intel Core i5-13500H, RTX 4060
- Eladó Xiaomi Redmi 12C 64GB / 12 hó jótállás
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest