AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

"stringa da splittare"

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
ciccioR
Guest





PostPosted: Wed Jun 23, 2004 2:42 pm    Post subject: "stringa da splittare" Reply with quote



il mio problema è questo:
Ho un stringa particolare, una "whereCondition" composta da atomi di
confronto ad esempio (cod1=cod2),cod3>cod4 e valori semplici ad esempio
cod :
la stringa composta quindi potrebbe essere questa:

cod1=cod2 AND cod3>cod4 OR id

ho la necessità di ottenere queste subStringhe:

-cod1=cod2;
-AND cod3>cod4;
-OR id;

Il metodo split di String non credo sia utile xke ancke impostando una
regex con AND e OR queste ultime non comparirebbero poi nelle
sottostringhe.
Ho pensato alla classe StreamTokenizer ma nn so come funziona!

Aspetto suggerimenti ed esmpi con codice

Grazie a tutti coloro mi risponderanno

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad [email]abuse (AT) newsland (DOT) it[/email]


Back to top
Netrunner
Guest





PostPosted: Wed Jun 23, 2004 2:53 pm    Post subject: Re: "stringa da splittare" Reply with quote



Blood wrote:
Quote:
"ciccioR" <sdadasd (AT) asdasd (DOT) it> ha scritto nel messaggio
news:cbc4sk$n9e$1 (AT) news (DOT) newsland.it...

il mio problema è questo:
Ho un stringa particolare, una "whereCondition" composta da atomi di
confronto ad esempio (cod1=cod2),cod3>cod4 e valori semplici ad esempio
cod :
la stringa composta quindi potrebbe essere questa:

cod1=cod2 AND cod3>cod4 OR id

ho la necessità di ottenere queste subStringhe:

-cod1=cod2;
-AND cod3>cod4;
-OR id;

Il metodo split di String non credo sia utile xke ancke impostando una
regex con AND e OR queste ultime non comparirebbero poi nelle
sottostringhe.
Ho pensato alla classe StreamTokenizer ma nn so come funziona!

Aspetto suggerimenti ed esmpi con codice

No credo che abbia bisogno di un tokenizer.

Guarda la classe tokenizer forse fa al caso tuo. Prende un carattere e
spezza la stringa secondo quel carattere.
Spero di esserti stato utile, ciao!

Quote:
Grazie a tutti coloro mi risponderanno

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad [email]abuse (AT) newsland (DOT) it[/email]



Prova con StringBuffer.

Prima crei il tuo buffer così:
StringBuffer buffer = new StringBuffer();
poi aggiungi la stringa al buffer con buffer.append(TuaStringa);

poi crei una sottostringa con String nuovaStringa = buffer.substring(int
inizio, int fine);
e così via per tutte le parti della tua stringa...

E' solo un'idea......Smile
Fammi sapere.

Blood



Back to top
Blood
Guest





PostPosted: Wed Jun 23, 2004 2:56 pm    Post subject: Re: "stringa da splittare" Reply with quote




"ciccioR" <sdadasd (AT) asdasd (DOT) it> ha scritto nel messaggio
news:cbc4sk$n9e$1 (AT) news (DOT) newsland.it...
Quote:
il mio problema è questo:
Ho un stringa particolare, una "whereCondition" composta da atomi di
confronto ad esempio (cod1=cod2),cod3>cod4 e valori semplici ad esempio
cod :
la stringa composta quindi potrebbe essere questa:

cod1=cod2 AND cod3>cod4 OR id

ho la necessità di ottenere queste subStringhe:

-cod1=cod2;
-AND cod3>cod4;
-OR id;

Il metodo split di String non credo sia utile xke ancke impostando una
regex con AND e OR queste ultime non comparirebbero poi nelle
sottostringhe.
Ho pensato alla classe StreamTokenizer ma nn so come funziona!

Aspetto suggerimenti ed esmpi con codice

Grazie a tutti coloro mi risponderanno

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad [email]abuse (AT) newsland (DOT) it[/email]


Prova con StringBuffer.


Prima crei il tuo buffer così:
StringBuffer buffer = new StringBuffer();
poi aggiungi la stringa al buffer con buffer.append(TuaStringa);

poi crei una sottostringa con String nuovaStringa = buffer.substring(int
inizio, int fine);
e così via per tutte le parti della tua stringa...

E' solo un'idea......Smile
Fammi sapere.

Blood



Back to top
ciccioR
Guest





PostPosted: Wed Jun 23, 2004 3:55 pm    Post subject: Re: "stringa da splittare" Reply with quote

Blood ha scritto:

Quote:
Prova con StringBuffer.

Prima crei il tuo buffer così:
StringBuffer buffer = new StringBuffer();
poi aggiungi la stringa al buffer con buffer.append(TuaStringa);

poi crei una sottostringa con String nuovaStringa = buffer.substring(int
inizio, int fine);
e così via per tutte le parti della tua stringa...

E' solo un'idea......Smile
Fammi sapere.

Blood

Non conosco a priori la stringa quindi nemmeno inizio e fine , la stringa
la acquisisco a run-time leggendola , deve essere un'operazione
applicabile su ogni string di questo tipo.
grazie


--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad [email]abuse (AT) newsland (DOT) it[/email]



Back to top
Alex
Guest





PostPosted: Wed Jun 23, 2004 7:52 pm    Post subject: Re: "stringa da splittare" Reply with quote

[email]sdadasd (AT) asdasd (DOT) it[/email] (ciccioR) wrote in message news:<cbc4sk$n9e$1 (AT) news (DOT) newsland.it>...
Quote:
il mio problema è questo:
Ho un stringa particolare, una "whereCondition" composta da atomi di
confronto ad esempio (cod1=cod2),cod3>cod4 e valori semplici ad esempio
cod :
la stringa composta quindi potrebbe essere questa:

cod1=cod2 AND cod3>cod4 OR id

ho la necessità di ottenere queste subStringhe:

-cod1=cod2;
-AND cod3>cod4;
-OR id;

Il metodo split di String non credo sia utile xke ancke impostando una
regex con AND e OR queste ultime non comparirebbero poi nelle
sottostringhe.
Ho pensato alla classe StreamTokenizer ma nn so come funziona!

Aspetto suggerimenti ed esmpi con codice

Grazie a tutti coloro mi risponderanno

Io farei una replace sugli operatori logici prefissandoli con un
carattere speciale (che ne so n) e poi chiamerei lo split sulla
stessa stringa! :)

Back to top
Giorgio Gallo
Guest





PostPosted: Wed Jun 23, 2004 9:43 pm    Post subject: Re: "stringa da splittare" Reply with quote

ciccioR wrote:

Quote:
Non conosco a priori la stringa quindi nemmeno inizio e fine , la stringa
la acquisisco a run-time leggendola , deve essere un'operazione
applicabile su ogni string di questo tipo.

Se devi solo splittare la stringa prima di "AND" e "OR" puoi usare due
split() successivi, uno sugli AND e uno sugli OR (con gli eventuali
spazi,tab,...), e poi riaggiungere "AND " e "OR " all'inizio dei vari pezzi:

1. "aaa ANDtn bbbtOR ccc"
2. {"aaa", "bbbtOR ccc"}
3. {"aaa", "AND " + "bbbtOR ccc"}
4. {{"aaa"}, {"AND bbb", "ccc"}}
5. {{"aaa"}, {"AND bbb", "OR " + "ccc"}}

Devi però fare in modo che

"AND aaa AND bbb"

diventi dopo il primo passaggio

{"", "aaa", "bbb"}

altrimenti ti perdi un AND (stesso discorso per gli OR, per il caso in
cui avessi AND e/o OR a fine stringa e per eventuali "OR OR" nella stringa)



Se hai esigenze più "avanzate" della semplice elaborazione di stringhe,
considera la possibilità di farti un parser "serio" e di convertire la
tua stringa in una struttura un po' più significativa di una collezione
di sottostringhe (che io sappia di solito si usano degli alberi) - dai
un'occhiata a JavaCC (java compiler compiler): è un affarino che a
partire da una grammatica ("farcita" di codice) ti genera un parser.

Potresti facilmente (ad esepio):

- parsare e interpretare correttamente cose come "aaa AND (bbb OR ccc)"
- segnalare situazioni in cui non è stata rispettata la grammatica
(immagino che non abbia senso per te una stringa che inizi per AND, o
che contenga "AND OR OR")
- estendere il tuo mini-linguaggio (eventualmente in futuro) ad es. con
NOT, LIKE, CONTAINS, ...

Non farti spaventare dall'impatto con un tool molto potente che ti
permette di generare parser per grammatiche molto complesse (tipo per
linguaggi come Java): scaricatelo e smanettaci per un paio d'ore prima
di buttarlo via perchè non si capisce niente

Saluti,
Giorgio

Back to top
Sandro..
Guest





PostPosted: Thu Jun 24, 2004 10:09 am    Post subject: Re: "stringa da splittare" Reply with quote


Quote:
poi crei una sottostringa con String nuovaStringa = buffer.substring(int
inizio, int fine);
e così via per tutte le parti della tua stringa...

ti ricordo che substring è lineare, quindi messo in un ciclo esplode in
complessità

ciao

Sandro

--

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad [email]abuse (AT) newsland (DOT) it[/email]



Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.