Contenuti del Corso
Java Avanzato
Java Avanzato
Metodo Split()
String[] split(String delimiter)
Il metodo split(String delimiter)
suddivide una stringa in un array di sottostringhe in base al delimitatore specificato (un carattere o una sequenza di caratteri). Restituisce un array in cui ogni elemento è una sottostringa della stringa originale, separata dal delimitatore.
Come suddividere una String in String[]
Supponiamo di avere il compito di suddividere una frase in un array di parole. In questo caso, possiamo sia append
fino a incontrare un carattere di spazio (" "
), sia utilizzare il metodo split()
.
Il metodo split()
è un metodo della classe String
che accetta un regex
come parametro. Cos'è un regex
? Regex
sta per espressione regolare, ovvero un carattere o un insieme di caratteri che utilizziamo per suddividere la nostra stringa. Possiamo inserire un carattere di spazio " "
nel regex, e così la nostra frase verrà suddivisa in parole.
Vediamo un esempio:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "This is the sentence that we want to split"; // split the string into an array based on spaces String[] array = string.split(" "); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
Qui abbiamo suddiviso la stringa in un array di parole. Abbiamo utilizzato " "
per indicare al programma di dividere la frase a ogni occorrenza di " "
.
Come suddividere una String utilizzando un carattere specifico
Possiamo anche suddividere la nostra stringa utilizzando qualsiasi altro carattere. Ad esempio, suddividiamo il link all'occorrenza del carattere "/"
.
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String link = "codefinity.com/profile/my-home"; // split the string into an array based on "/" String[] array = link.split("/"); printArray(array); // print the array elements } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
Abbiamo suddiviso l'URL in parti separate ad ogni occorrenza del carattere "/"
, e ora possiamo vedere ciascun elemento dell'URL. In altre parole, quando suddividiamo la stringa al carattere "/"
, otteniamo un array di stringhe.
Si può anche notare che il metodo rimuove il carattere specificato dall'array risultante durante la suddivisione.
Come suddividere una String in caratteri di tipo String
Per suddividere una stringa in un array ad ogni occorrenza di un singolo carattere, è sufficiente utilizzare le virgolette vuote ""
come parametro. Vediamo un esempio:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "c<>definity"; // split the string into an array of individual characters String[] array = string.split(""); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.print(element + " "); } // print a new line after the array elements System.out.println(); } }
Abbiamo suddiviso la stringa in lettere singole. Si potrebbe pensare che esista un metodo specifico per questo, come toCharArray()
, ma la differenza è che utilizzando il metodo split()
otteniamo un array di elementi di tipo String
, mentre con toCharArray()
otteniamo direttamente un array di elementi di tipo char
.
Grazie per i tuoi commenti!