Lista takarítása regexp segítségével

Minap belefutottam egy olyan feladatba, hogy több száz soros szövegállományt kellett letakarítani a felesleges részektől, hogy megkapjak egy listát.

A lista kb így nézett ki:

www.valami1.hu aaf3459sdfl345
www.valamisdf2.hu 493453464554949461464459
www.valamiwie.com 34sl49s

Ebből kellett volna az URL-eket kinyerni. Egyesével törölni nem jó móka, a csoportos/oszlop kijelölés sem működött intype-ban, mert az URL-ek nem azonos hosszúak voltak. Így jött a regex-es megoldás, mely segítségével minden olyan karakterláncot szerettem volna törölni, mely space-szel indul és utána bármennyi karakter állhat.

A bold jelzi, hogy mely részekre volt szükségem, a többi mehetett a kukába:

www.valmi1.hu aaf3459sdfl345
www.valamisdf2.hu 493453464554949461464459
www.valamiwie.com 34sl49s

A megoldás egyszerű annak ellenére, hogy nem értek a regexp-hez. Intype-t használtam, ott a CTRL+H billentyűkombinációval előhívtam a keresés/csere ablakot és a felső részbe beírtam ezt:

1
 (.*)

Az ablak aljában be kellett pipálni a “RE” kapcsolót, majd kattintottam a “Replace All” gombra.

Regexp használata Intype texteditorban
Regexp használata Intype texteditorban

Az eredménye ennek az, hogy minden olyan karakterlánc törlődött az URL-ek után, melyek space-szel kezdődött. A letakarított eredmény így nézett ki:

www.valami1.hu
www.valamisdf2.hu
www.valamiwie.com

Ez egy elég egyszerű kis leírás, de valakinek talán sok időt fog megspórolni, ha ilyen feladatba fut bele.

Regexp teszteléshez egyébként lehet használni pl. ezt az online szolgáltatást: Regular Expression Editor

2 HOZZÁSZÓLÁS

  1. Egy másik kód, szintén takarításhoz:

    1
    
    [([0-9])]

    Az ilyen listákból:

    1
    2
    3
    
    kategória1(3)
    kategória2(4)
    kategória3(2)

    szedi le a sorvégi zárójelet és a számokat:

    1
    2
    3
    
    kategória1
    kategória2
    kategória3
  2. Ez is csak inkább példa illetve emlékeztető magamnak, hogy SEO backlink check kapcsán, amikor sok URL-t kapok melyek ugyanazon lapcsaládhoz tartoznak de nekem nincs rá szükségem, hogy szűrjem le…

    pl..

    ilyen jellegű a forrás:

    http://kisallat.lap.hu (1 db)
    http://kispaci.lap.hu (1 db)
    http://kismacska.lap.hu (1 db)
    http://kiskutya.lap.hu (2 db)
    http://masdomain.hu (1db)
    http://ujabbdomain.com (3db)
    http://kiskrokodil.lap.hu (1 db)
    http://kisvizilo.lap.hu (2 db)

    … és ezekből a sitewide linkek miatt van mondjuk 2000, akkor nekem csak arra lenne szükségem, hogy a lap.hu-s sorokat kiszedjem és lássam, melyek az egyéb linkjei.

    ilyenkor használom a leírás mintájára az alábbit a keresés/csere opció “mit” mezőjében:

    (.*).lap.hu(.*)

    A “mire” részt meg persze üresem hagyom.

    Így minden olyan sort töröl, amiben megtalálható a .lap.hu részlet, bármi is legyen előtte vagy utána.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét