Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Metodo Split() | String Avanzato
Java Avanzato
course content

Contenuti del Corso

Java Avanzato

Java Avanzato

1. Struttura Profonda di Java
2. Metodi
3. String Avanzato
4. Classi
5. Classi Avanzate

book
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
12345678910111213141516171819
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

Main.java

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

question mark

Quale sarà il risultato di questo codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

Java Avanzato

Java Avanzato

1. Struttura Profonda di Java
2. Metodi
3. String Avanzato
4. Classi
5. Classi Avanzate

book
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
12345678910111213141516171819
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

Main.java

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

question mark

Quale sarà il risultato di questo codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 2
some-alt