Suddividi la stringa in un array in Java

Hassan Saeed 12 ottobre 2023
  1. Usa split(delimiter) per dividere la stringa in un array in Java
  2. Usa split(regex, limit) per dividere la stringa in un array in Java e mantenere le stringhe vuote finali
Suddividi la stringa in un array in Java

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.

Articolo correlato - Java String