Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Traženje unicode karaktera unutar stringa

[es] :: Perl :: Traženje unicode karaktera unutar stringa

[ Pregleda: 3362 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
85.222.163.*



+2 Profil

icon Traženje unicode karaktera unutar stringa06.05.2006. u 09:03 - pre 218 meseci
Potrebno mi je da iz jednog fajla cca. 100.000 redova, da izvučem samo one redove koji sadrže npr. Geschäftsleitung i da ih upišem u neki drugi fajl. E sad lako je kad se traže slova iz engleskog alfabeta, al šta da radim sa tim specifičnim karakterima iz nemačkog jezika? Pošto sve kucam u notepad-u, snimio sam fajl kao unicode i ne pomaže.
Zahvaljujem se na pomoći.
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.lstm.uni-erlangen.de.



+27 Profil

icon Re: Traženje unicode karaktera unutar stringa06.05.2006. u 12:03 - pre 218 meseci
Da bi razumeo Unikod koji dolazi spolja, Perl treba pokrenuti sa opcijom -C. Da bi razumeo Unikod u sopstvenom kodu, treba zadati use utf8; na početku izvorne datoteke.

Takođe, nije dovoljno sačuvati izvornu datoteku u bilo kom unikodskom zapisu, već mora biti UTF-8. Majkrosoftovi programi, pa tako i Notepad, podrazumevaju UCS-2 zapis unikodskih tekstova, tako da vidi možeš li da izabereš UTF-8. Ako ne, nađi neki drugi uređivač teksta. U stvari, u svakom slučaju nađi neki drugi uređivač :)

[Ovu poruku je menjao Časlav Ilić dana 06.05.2006. u 13:05 GMT+1]
 
Odgovor na temu

cabrilo
Dejan Cabrilo

Član broj: 4780
Poruke: 56
*.dsl.pltn13.pacbell.net.

ICQ: 7366253


Profil

icon Re: Traženje unicode karaktera unutar stringa21.06.2006. u 18:17 - pre 217 meseci
Citat:
Pharos: Potrebno mi je da iz jednog fajla cca. 100.000 redova, da izvučem samo one redove koji sadrže npr. Geschäftsleitung i da ih upišem u neki drugi fajl. E sad lako je kad se traže slova iz engleskog alfabeta, al šta da radim sa tim specifičnim karakterima iz nemačkog jezika? Pošto sve kucam u notepad-u, snimio sam fajl kao unicode i ne pomaže.
Zahvaljujem se na pomoći.


Evo, na brzinu sam napisao skriptić koji to radi:


Code:

#!/usr/bin/perl
use utf8;

open (INF, "fajl");
binmode (INF, ':utf8');
my @buffer = <INF>;
close (INF);

binmode (STDOUT, ":utf8");
foreach $l (@buffer) {
    if ($l =~ /[^a-zA-Z.,!?\n\s]/) {
        print $l;
    }
}


U suštini, bitno je da učitaš fajl kao utf 8 (zato je binmode (INF, ':utf8')). Posle toga uradiš regex
/[^a-zA-Z.,!?\n\s]/

što u prevodu znači: ako niz ne sadrži nešto od: sva mala slova (a-z), sva velika slova (A-Z), tačku, zarez, uzvičnik, upitnik, novi red ili razmak. Recimo, ä je takvo slovo :)

Ovo što je Časlav rekao isto ima smisla.

Nadam se da sam dobro razumeo šta ti je potrebno...

 
Odgovor na temu

[es] :: Perl :: Traženje unicode karaktera unutar stringa

[ Pregleda: 3362 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.