Quote Originariamente inviata da james101 Visualizza il messaggio
salve ho una stringa del tipo String s="ciao ciao ciao"; e se applico il metodo split(" "); e lo assegno ad un array di stringhe mi trovo che l'array di stringhe ha 3 campi con "ciao" e un campo con " " ossia il metodo split dopo il primo spazio non riconosce il carattere successivo e un altro spazio e lo conta come se fosse un pezzo di stringa da dividere.
No, attenzione, il carattere spazio NON lo ritrovi nell'array. Dal momento che nella stringa iniziale hai più spazi consecutivi, il singolo spazio come separatore causa la presenza di stringhe "vuote" (lunghezza 0) tra due spazi adiacenti!

Se hai:

codice:
String s = "ciao   ciao";
con 3 spazi tra i due ciao, allora ottieni un array:

[0] = "ciao"
[1] = "" (stringa vuota!)
[2] = "" (stringa vuota!)
[3] = "ciao"

Questo perché lo spazio fa da separatore e con i 3 spazi consecutivi si comporta così:

codice:
SPAZIO    SPAZIO    SPAZIO
       ""        ""

Quote Originariamente inviata da james101 Visualizza il messaggio
Come risolvere?
Basta usare

split(" +")

ovvero il quantificatore per dire "uno o più spazi".