back to top

Java split() – dividere una stringa

Grazie al metodo split() della classe String di Java è possibile suddividere una stringa in base ad una espressione regolare. facciamo un esempio e supponiamo di vorel dividere una stringa in base alle virgole:

String amici = "Mario,Luca,Claudio";
String[] nomi = amici.split("-");
String nome1 = nomi[0]; // Mario
String nome2 = nomi[1]; // Luca
String nome3 = nomi[2]; // Claudio

Come avrete notato il metodo split() ha diviso lo stringa e restituito un array di valori.

Prima di utilizzare il metodo split() è buona norma verificare che la stringa contenga effettivamente il separatore. Tornando al nostro esempio:

String amici = "Mario,Luca,Claudio";
if (amici.contains(",")) {
  String[] nomi = amici.split(",");
  // ...
  // ...
  // ...
} else {
  throw new IllegalArgumentException("La stringa " + amici + " non contiene virgole");
}

Attenzione ai metacaratteri!

Si noti che nel nostro esempio abbiamo utilizzato la virgola come separatore per la suddivisione della stringa quindi non abbiamo dovuto usare cautele particolari. Ma se avessimo voluto, ad esempio, suddividere una stringa in base al punto o al simblo del dollaro? In questi casi avremmo dovuto stare attenti… i caratteri citati (come alcuni altri) hanno un significato particolare nelle espressioni regolari, quindi avremmo dovuto effettuare un preventivo escape oppure filtrarli in questo modo:

String amici = "Mario.Luca.Claudio";
String[] nomi = amici.split(Pattern.quote("."));

I meta-caratteri che necessitano di questa attenzione sono 12, cioè:

  • .
  • $
  • \
  • ^
  • *
  • |
  • ?
  • +
  • (
  • )
  • [
  • {
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Java: cos’è e a cosa serve l’operatore modulo (%)

In Java, l'operatore modulo è rappresentato dal simbolo "%"...

Arrotondare un numero con Java

Quando si lavora con i numeri all'interno di un...

Java: cos’è l’errore NullPointerException e come risolverlo

RuntimeException รจ una superclasse di Java che ricomprende tutte...

Stringhe in Java

La gestione delle stringhe assume un ruolo fondamentale in...

Leggere un file di testo in java

In java ci sono diverse modalità per leggere dati...

Il costrutto foreach in java

Il foreach è un particolare costrutto (disponibile a partire...
Pubblicitร