Quote Originariamente inviata da andbin Visualizza il messaggio
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
       ""        ""


Basta usare

split(" +")

ovvero il quantificatore per dire "uno o più spazi".
Perfetto grazie mille! soluzione anche molto semplice.
In effetti quando andavo a stampare l'array di stringhe il risultato era semplicemente un campo vuoto che poteva essere confuso con uno spazio... grazie ancora!
comunque adesso ho un altro piccolo problema chiamando split come

String[] arr=s.split(" +|<|>");

la stringa ciao mondo data<e> fine viene spezzata come

arr[0]="ciao"
arr[1]="mondo"
arr[2]="data"
arr[3]="e"
arr[4]=""
arr[5]"fine"

e se splitto come

String[] arr=s.split(" +|<|> ");

il risultato è

arr[0]="ciao"
arr[1]="mondo"
arr[2]="data"
arr[3]="e>"
arr[4]="fine"

cosa dovrei passare a split come parametri per avere
arr[0]="ciao"
arr[1]="mondo"
arr[2]="data"
arr[3]="e"
arr[4]="fine"