back to top

Java split() โ€“ dividere una stringa

Grazie al metodo split() della classe String di Java, รจ possibile suddividere una stringa in base ad unโ€™espressione regolare. In questo articolo, esploreremo come utilizzare questo metodo, faremo degli esempi pratici e discuteremo di alcune precauzioni da prendere per un uso corretto e sicuro. Supponiamo di voler 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 la stringa e restituito un array di valori, che possono essere utilizzati successivamente nel programma.

Pubblicitร 

Prima di utilizzare il metodo split(), รจ buona norma verificare che la stringa contenga effettivamente il separatore. Tornando al nostro esempio, ecco come procedere:

String amici = "Mario,Luca,Claudio";
if (amici.contains(",")) {
    String[] nomi = amici.split(",");
    // Ulteriori elaborazioni possono essere eseguite qui
} 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; pertanto, non abbiamo dovuto usare cautele particolari. Tuttavia, se avessimo voluto suddividere una stringa in base al punto o al simbolo del dollaro, avremmo dovuto prestare maggiore attenzione. I caratteri citati, come alcuni altri, hanno un significato speciale nelle espressioni regolari. In questi casi, รจ fondamentale effettuare un escape preventivo oppure utilizzare un metodo di filtro come il seguente:

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

I metacaratteri che necessitano di particolare attenzione sono dodici, e includono:

  • .
  • $
  • \
  • ^
  • *
  • |
  • ?
  • +
  • (
  • )
  • [
  • {

In sintesi, il metodo split() offre un modo versatile per lavorare con le stringhe in Java. Ricordate sempre di controllare lโ€™esistenza del separatore e di prestare attenzione ai metacaratteri quando si utilizza questo metodo.

Per approfondire, ecco un esempio di utilizzo di split() con piรน delimitatori. Supponiamo di avere una stringa che deve essere divisa sia per virgole che per punti e virgola:

String input = "Mario,Luca;Claudio,Giovanni";
String[] nomi = input.split("[,;]");
for (String nome : nomi) {
    System.out.println(nome.trim());
}

In questo esempio, abbiamo utilizzato unโ€™espressione regolare con una classe di caratteri per delimitare sia le virgole che i punti e virgola. Inoltre, abbiamo utilizzato trim() per rimuovere gli spazi bianchi indesiderati intorno ai nomi.

Utilizzare i metodi di stringa in Java, come split(), puรฒ semplificare notevolmente la vostra programmazione. Assicuratevi di seguire le best practice, e sarete in grado di gestire le stringhe con facilitร  e sicurezza.

Altri contenuti interessanti

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...

Vibe Coding: cosโ€™รจ, come funziona e quali sono i migliori strumenti AI per programmare

Immagina di poter scrivere software senza dover digitare una...

I migliori libri per imparare a programmare in Python

Imparare a programmare in Python รจ un passo fondamentale...

Il file manifest.json: cosโ€™รจ e a cosa serve

Il file manifest.json รจ un componente chiave nelle applicazioni web moderne,...

Java: cosโ€™รจ e a cosa serve lโ€™operatore modulo (%)

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

Radice quadrata in C: vediamo come calcolarla in diversi modi

La radice quadrata รจ un'operazione matematica piuttosto comune (in...

Sperimentare la sequenza di Collatz in C++

Vediamo come verificare la congettura di Collatz con C++....
Pubblicitร