Regexp: Upomoć!
Imam zadatak da gomilu teksta (15 brojeva časopisa, svaki po 300 strana) iz PDFa prebacim u wordpress. PDFovi su spremani za štampu, tako da uredno imaju line break na kraju svakog reda.
Svaki članak posebno prebacujem u editor (u mom slučaju Ultra Edit), i propuštam ga kroz dva makroa koja sam za ovu priliku sklepao: jedan za konverziju YUSCII->Unicode, i drugi koji preko regexpa prvo skloni sve crtice sa kraja reda, a onda ubija nepotrebne line-breakove: Kôd:
^(.*[^.])\p Sve je sjajno radilo, sve dok nisam primetio da u delovima nekih članaka moraju da postoje linebreakovi, jer se radi o stihovima ili dijalozima. Izmenio sam malo string za pretragu, tako da spaja redove jedino ako imaju preko 50 karaktera: Kôd:
^(.{50,}[^.])\p |
Off Topic: Samo da izrazim svoje oduševljenje načinom na koje je pitanje formulisano :) |
nije pametno baviti se regexpima posle beer festa, ali ajd da probam :)
a) da li UltraEdit podrzava {} sintaxu? Textpad ne podrzava... b) probaj da umesto {50,} stavis {1,} da vidis da li ces dobiti nesto. Ako je ovaj matching line oriented, mozda su linije krace od 50 ili tako nesto glupo... c) \p je oznaka za unicode(ali ide ispred izraza, ne iza), ja bih ocekivao da ces koristiti \r\n ili \s+ na tom mestu da uhvatis novu liniju |
Možda:
Kôd:
^(...................................................*[^.])\p |
@borstale:
:D @ivanhoe: Probao sam sa + i {1,}, da vidim da li će dati isti rezultat. Ovo drugo nije uhvatilo ništa, tako da je vrlo verovatno da UEdit ne konta ovakve brojače. Ono što me je zabrinulo je to što search string sa plusom umesto zvezdice daje jako čudne rezultate (hvata cele redove, ali samo one posle kojih stoje dva cr/lf-a). Za \p sam znao da hvata blokove unicode karaktera, pa me je iznenadio UltraEditov help, koji za \p kaže: Citat:
@Br@nkoR: Stari, dobri buzdovan-metod. Izgleda šašavo, ali deluje! :1090: Hvala, ko zna kad bi mi ovako nešto palo na pamet :) |
Koji editor za Win?
Prerano sam se poradovao, ovo je sredilo jedan problem, ali je kasnije stvorilo nekoliko novih. Koji mi editor za Win preporučujete, a da ima osnovnu podršku za makroe, i da podržava standardnu sintaksu regexpa?
|
Perl :)
Nije editor ali ce odlicno raditi :) |
How about textpad?
|
Citat:
Mozda Scite kao predlog editora, on deluje kao da radi lepo, mada se slazem sa Morenom, instaliraj perl ili php cli i napravi skriptu koja radi sta god pozelis, jebes editore i makroe... recimo za perl, one-liner je nesto tipa perl -p -i.BCKP -e "s/search_term/replace_term/gi" neki.fajl |
Izgleda da sam bio u pravu kad sam temu prvobitno postavio u PHP forum :)
Pretpostavljam da je perl bolje rešenje, ali o njemu znam jedino da ima "mačka mi skočila na tastaturu" sintaksu, tako da će biti efikasnije ako posao odradim u PHPu. Hvala svima na savetima. |
Vreme je GMT +2. Trenutno vreme je 18:00. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.