Conteúdo do Curso
Java Avançado
Java Avançado
Método Split()
String[] split(String delimiter)
O método split(String delimiter)
divide uma string em um array de substrings com base no delimitador especificado (um caractere ou sequência de caracteres). Ele retorna um array em que cada elemento é uma substring da string original, separada pelo delimitador.
Como dividir String em String[]
Considere a tarefa de dividir uma frase em um array de palavras. Nesse caso, é possível append
até encontrar um caractere de espaço (" "
), ou utilizar o método split()
.
O método split()
é um método da classe String
que recebe um regex
como parâmetro. O que é regex
? Regex
significa expressão regular, que é basicamente um caractere ou conjunto de caracteres utilizado para dividir a string. É possível inserir um caractere de espaço " "
no regex, e assim a frase será dividida em palavras.
Veja um exemplo:
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 + " "); } } }
Aqui, dividimos a string em um array de palavras. Utilizamos " "
para indicar ao programa que deve dividir a frase em cada ocorrência de " "
.
Como dividir uma String por um caractere específico
Também podemos dividir nossa string usando qualquer outro caractere. Por exemplo, vamos dividir o link na ocorrência do caractere "/"
.
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 + " "); } } }
Dividimos a URL em partes separadas em cada ocorrência do caractere "/"
, e agora podemos visualizar cada elemento da URL. Em outras palavras, ao dividir a string pelo caractere "/"
, obtivemos um array de strings.
Você também pode notar que o método remove o caractere especificado do array resultante ao realizar a divisão.
Como dividir uma String em caracteres do tipo String
Para dividir uma string em um array a cada ocorrência de um único caractere, podemos simplesmente usar aspas vazias ""
como parâmetro. Veja um exemplo:
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(); } }
Dividimos a string em letras individuais. Pode parecer que existe um método específico para isso, como toCharArray()
, mas a diferença é que, ao utilizar o método split()
, obtemos um array de elementos do tipo String
, enquanto com toCharArray()
, obtemos diretamente um array de elementos do tipo char
.
Obrigado pelo seu feedback!