Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 26.12.2015., 17:14   #1
OuttaControl
Premium
Moj komp
 
OuttaControl's Avatar
 
Datum registracije: Feb 2007
Lokacija: Dalmacija
Postovi: 5,204
C#/C++/PHP, regex, string u objekt

Pozdrav,
Prvo jezik nije bitan, u svima je jednostavno lako to napravit
Dakle imam teksutalni file sa puno redova i puno knjiga u njemu, format ide ovako, i uglavnom cijeli file prati taj format:
Code:
<h>Ormar 1</h>
Težak Stjepko, Babić Stjepan :  ”Gramatika hrvatskoga jezika - priručnik za osnovno jezično obrazovanje” , Školska knjiga, Zagreb, 1992.
Vončina Josip : “Jezična baština”, Književni  krug, Split, 1988.
.
.
.
<h>Ormar 2</h>
Kvesić: “ Uvod u Peru K”, Zagreb, 1975.
Remarque: “Noć u Lisabonu”, 1966.
“Suvremena hrvatska novela 1 ”, Zora, Zagreb, 1971.
“Suvremena hrvatska novela 2 ”
Vojnović: “Dubrovačka trilogija”
Puškin: “Kapetanova kći”
Imam super izraz ako bi sve pratilo strukturu
Code:
([^,].*)\”(.*)\”\,([^,]*)\,([^,]*)\,([^,][[:digit:]]*).$
E sad di je problem, kao sto na primjerima u Ormaru 2, knjige(neke) prestaju pratiti standardnu strukturu, amo reć da nema ništa iza naslova, super samo napravim konstruktor sa "nepoznato" ili tako nešto, ali je problem šta neke kao "Kvesić: “ Uvod u Peru K”, Zagreb, 1975." imaju, na mjestu di je izdavač ime grada

dakle za dohvatit ime autora nema problema vise manje:
Code:
^.*:
(ako ih je više podjeljeno zarezom, isto mogu iskombinirat, nije veliki problem)
Za dohvatiti naslov laganini
Code:
\”.*\”
Za dohvatit izdavača i grad
Code:
\”\,.*\,
i onda to kasnije podjelim na dva, mozda može lakše al nije toliki problem
Za dohvatit godinu
Code:
[[:digit:]]+.$

Zadnje izmijenjeno od: OuttaControl. 26.12.2015. u 17:50.
OuttaControl je offline   Reply With Quote
Staro 27.12.2015., 20:40   #2
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
http://ex-parrot.com/~pdw/Mail-RFC822-Address.html
Lol
A sad što je točno problem?
Ako se može dogoditi da fali ili grad ili izdavač, teško ćeš rješit,
ako znaš da je onaj koji nedostaje izdavač nema problema.
S druge strane, ako se snalaziš u više programskih jezika, zašto pobogu išta pokušavaš napravit sa tim jednostavnim super preglednim i jasnim regularnim izrazom?
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Staro 28.12.2015., 20:46   #3
OuttaControl
Premium
Moj komp
 
OuttaControl's Avatar
 
Datum registracije: Feb 2007
Lokacija: Dalmacija
Postovi: 5,204
Odlučio sam to rješit manualno, iako mogu uspoređivat sa listom imena gradova, al nema smisla, pošto možda 50tak unosa ima takav oblik, pa ih se može i ručno bez velikog problema

A nezz, meni su nekako dragi regularni izrazi , i lako ga prebacim u bilokoji drugi jezik jer svi u stdlib imaju regex funkciju. Al nije problem ni napisat nesto sa separatorima.

Ali sam primjetio jos jedan problem, ukoliko knjiga ispod ima slicno ime i istog izdavača:
“Suvremena hrvatska novela 1 ”, Zora, Zagreb, 1971.
“Suvremena hrvatska novela 2 ”
A ne piše na drugom primjerku, trebao bih provjeriti koliko je jedan string sličan drugom stringu, našao sam neki "Levenshtein Distance","Bitap"... algoritam, al oni nisu default ni u .NET ni u PHP, pa ako postoji koja metodica u nekom jeziku koja mi može vratit numeričku vrijednost sličnosti, bilo bi super

Još radim na istraživanju pa ću jedan dan-dva kad uvatim vrimena sve to istipkat
OuttaControl je offline   Reply With Quote
Staro 28.12.2015., 23:23   #4
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
Pa #net i php nisu baš prvi izbor za takve stvari. Ja bih osobno išao na pythoon za takve stvari što se tiče broja biblioteka i slično. Python nltk ima obe te metrike i još trilijun toga, i općenito je puno jednostavniji za rad sa stringom i tekstom nego c/java etc..
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Staro 29.12.2015., 03:59   #5
OuttaControl
Premium
Moj komp
 
OuttaControl's Avatar
 
Datum registracije: Feb 2007
Lokacija: Dalmacija
Postovi: 5,204
A bas u pythonu nisam nikad radio :/, a s obzirom da kasnije moram migrirat podatke u sql i napravit koliko toliko pristupačnu aplikaciju, draze mi je radit u nekom jeziku kojeg znam, iako pretpostavljam da su principi pythona slični c-u, al nema veze usporedjivat cu char po char, old skul hvalq na savjetima
OuttaControl je offline   Reply With Quote
Staro 29.12.2015., 09:08   #6
rodney
only fool, not a horse
Moj komp
 
rodney's Avatar
 
Datum registracije: Apr 2008
Lokacija: near zgb
Postovi: 1,276
Sto se tice pythona i mysql-a tu isto nema problema, ali razumijem da radije ideš na poznato. Nebih rekao da je sličan c-u jer je skriptni jezik, puno jednostavniji od c-a, meni je trebalo tjedan dva da postanem produktivan u pythonu s c like podlogom.
__________________
"I intend to live forever. So far, so good."

job security - example
rodney je offline   Reply With Quote
Oglasni prostor
Oglas
 
Oglas
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na