Keresés

Új hozzászólás Aktív témák

  • 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\3

    ahol 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 \3

    ahol 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ó.

  • Domonkos

    addikt

    válasz Weareus #15514 üzenetére

    Nyisd meg a kedvenc tablazatkezelo szoftvereddel
    Csereld meg az oszlopokat
    Mentsd ki .csv-be tab szeparatorokkal (vagy mas, neked tetszo formatumba...)

Új hozzászólás Aktív témák