Suddividi la stringa in un array in Java
-
Usa
split(delimiter)
per dividere la stringa in un array in Java -
Usa
split(regex, limit)
per dividere la stringa in un array in Java e mantenere le stringhe vuote finali
Questo tutorial discute i metodi per dividere la stringa in un array in Java.
Supponiamo di avere una stringa separata da virgole John, 23, $4500
. Dobbiamo dividere i dati in base alla virgola e memorizzarli in un array come questo: ["John", "23", "$4500"]
. È qui che torna utile il metodo split()
.
Usa split(delimiter)
per dividere la stringa in un array in Java
Dobbiamo passare il delimitatore per dividere la stringa in base ad esso. Il metodo split()
spezzerebbe la stringa ad ogni occorrenza del delimitatore e memorizzerebbe ogni valore nell’array. L’esempio seguente lo illustra.
public class MyClass {
public static void main(String args[]) {
String data = "1,2,3,,5,6,,";
String[] split = data.split(",");
for (int i = 0; i < split.length; i++) System.out.println(split[i]);
System.out.println("Done");
}
}
Produzione:
1
2
3
5
6
Sebbene abbiamo due stringhe vuote alla fine, l’array risultante non contiene le ultime due stringhe vuote. È perché il comportamento predefinito di split()
rimuove tutte le stringhe vuote finali dall’array risultante.
Usa split(regex, limit)
per dividere la stringa in un array in Java e mantenere le stringhe vuote finali
Possiamo sovrascrivere questo comportamento passando un parametro aggiuntivo alla funzione split()
: split(regex, limit)
. Passare un limit
negativo assicurerebbe che il pattern regex venga applicato quante più volte possibile, includendo così tutte le stringhe vuote finali dalla divisione.
L’esempio seguente lo illustra:
public class MyClass {
public static void main(String args[]) {
String data = "1,2,3,,5,6,,";
String[] split = data.split(",", -1);
for (int i = 0; i < split.length; i++) System.out.println(split[i]);
System.out.println("Done");
}
}
Produzione:
1
2
3
5
6
Done
Possiamo vedere che ora ha stampato le ultime due stringhe vuote finali.