View Full Version : [Java] Split
Banshee83
05-12-2005, 16:43
Ragazzi come faccio a dividere in due una stringa del tipo "nome cognome" eliminando lo spazio e avendo due stringhe: "nome" e "cognome"?Grazie
Nella classe String esiste questo metodo
public String[] split(String regex)
gli passi una regex in cui c'è il delimitatore della stringa, ti restituisce un array con le due stringhe
nel tuo caso
String[] splitArray = "nome cognome".split(" ");
ti restituisce
splitArray[0] = "nome"
splitArray[1] = "cognome"
Banshee83
05-12-2005, 19:57
Grazie!!!Ci ero quasi arrivato ma mi mancava un dettaglio!!
Banshee83
06-12-2005, 14:05
Senti ma se io faccio questo split ma la stringa che ricevo è solo "nome" che succede?Può creare qualche problema vero?
Senti ma se io faccio questo split ma la stringa che ricevo è solo "nome" che succede?Può creare qualche problema vero?
non ti crea problemi, ma l'array che ti verrà restituito avrà un unico elemento contentente il nome.
Forse i problemi potresti averli con cognomi del tipo "de Piscopo", dove c'è un ulteriore spazio.
Se è possibile, sarebbe sempre meglio separare nettamente il nome dal cognome, quindi farti arrivare due valori distinti o un bean con nome e cognome.
PerezDeQueya80
06-12-2005, 15:23
Attenzione al metodo split poiché è presente dalla versione 1.4 in poi ;)
Attenzione al metodo split poiché è presente dalla versione 1.4 in poi ;)
Per andare sicuri, basta usare il caro vecchio StringTokenizer ;)
Banshee83
07-12-2005, 13:34
Ok grazie a tutti!
Cmq i cognomi non creano problemi....almeno per ora!!!!
PerezDeQueya80
07-12-2005, 13:54
Per andare sicuri, basta usare il caro vecchio StringTokenizer ;)Esattamente! :asd:
Banshee83
14-01-2006, 19:19
ok ora ho un altro problema....nel caso l'utente scriva
"robert de niro"
ci sono dei problemi, per non parlare del caso
"de niro robert"
qual'era l'alternativa di cui parlavate??
il programma assume che tu scriva prima nome e poi cognome, per forza succedono casini se scambi le due cose. se poi metti tre parole, lui è programmato per prenderne due, e quindi taglia l'ultima. quindi la soluzione è qualle che t'ha detto pinok
Devi spezzare i campi di input, per cui in un field inserisce il cognome e nell'altro il nome.
E ovviamente li salvi in campi separati nel DB (se lo usi).
A questo punto lo split non ti serve più.
Banshee83
15-01-2006, 21:02
Si però dividere i campi di input non è il massimo!A parte ke graficamente non viene benissimo...poi sotto la casella di testo che contiene quello che digita l'utente c'è un menu a tendina con i vari criteri di ricerca (titolo,attore,regista,genere,etc..) e avere 2 caselle di testo potrebbe creare dei problemi agli utenti!
Io ho fatto la cazzata di dividere nome e cognome nel database!!Bastava mettere tutto nello stesso campo e non ci sarebbero stati problemi
Si però dividere i campi di input non è il massimo!A parte ke graficamente non viene benissimo...poi sotto la casella di testo che contiene quello che digita l'utente c'è un menu a tendina con i vari criteri di ricerca (titolo,attore,regista,genere,etc..) e avere 2 caselle di testo potrebbe creare dei problemi agli utenti!
E che utenti sono? Basta che restringi il campo di input e di fronte a uno scrivi cognome e di fronte all'altro nome ;)
Io ho fatto la cazzata di dividere nome e cognome nel database!!Bastava mettere tutto nello stesso campo e non ci sarebbero stati problemi
C'era (e c'è sempre il rischio) che ti scrivano nome cognome invece di cognome nome.
Con i campi separati è più difficile e se sbagliano, è un evidente errore loro di input.
Banshee83
17-01-2006, 11:17
[QUOTE=pinok]E che utenti sono? Basta che restringi il campo di input e di fronte a uno scrivi cognome e di fronte all'altro nome ;)
ahah!No intendevo che dovrei fare 2 form differenti, una con una sola casella di testo per il titolo del film o il genere, l'altra con le 2 caselle per nome e cognome per cercare attori o registi.
Perchè se ne tengo solo una con 2 caselle di testo, le famose "nome e cognome", l'utente potrebbe avere dei dubbi su quale usare per cercare un film per "titolo" o "genere". Praticamente devo fare un sito ke mio nonno ultrasettantenne riuscirebbe a usare senza possibilità di errori!!
Visto ke siete molto disponibili avrei un'altra domanda: per passare degli oggetti lista tra pagine jsp come posso fare?Sto provando tramite i parametri nell'url ma nn sembra funzionare,o forse sbaglio qualcosa io!Cmq ci sto lavorando
Se gli oggetti lista a cui ti riferisci sono oggetti Java, puoi metterli nella sessione nella pagina di partenza e recuperarli dalla sessione in quella di arrivo.
Oppure, se la sessione ti crea problemi per qualche motivo, potresti serializzarli in una pagina, metterli in un hidden field di una form e postarli alla pagina successiva, dove li recuperi e li deserializzi.
Banshee83
17-01-2006, 14:03
grazie ma ho risolto in un'altra maniera!
Usare la sessione della pagina è un buon metodo, lo userò per altri dati!
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.