Como Dividir uma string em Java

Hassan Saeed 11 dezembro 2023 Java Java String
Como Dividir uma string em Java

Este tutorial discute como dividir uma string em Java.

String em Java é um dos tipos de dados não-primitivos e é utilizado para armazenar uma seqüência de caracteres. Podemos declarar uma variável de string simplesmente da seguinte forma:

String string = "I am a string";
String string1 = "I am another string";

Podemos precisar executar várias tarefas de processamento de string, dependendo do que estamos tentando alcançar. Vamos considerar o caso em que temos uma string que representa dados em formato CSV - todos separados por uma vírgula.

String data = "Apple,Banana,Orange,Peach";

Queremos todas as strings individuais a partir disto; portanto, precisamos dividir a string com base na vírgula para separar os dados para obter a seguinte saída.

> Apple
> Banana
> Orange
> Peach

Java Strings têm uma função de divisão por padrão String#split() que toma uma expressão regular como entrada e retorna uma série de strings resultantes após a divisão na inteiro dada.

O exemplo abaixo ilustra como utilizar este método para dividir uma determinada string em Java.

public class Main {
  public static void main(String args[]) {
    String data = "Apple,Banana,Orange,Peach";
    String[] splitted = data.split(",");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

O código acima mostra o seguinte.

Apple
Banana
Orange
Peach

Vamos tentar este método para dividir uma string em um parâmetro diferente.

Dividir em um ponto

Desta vez, temos um string como este: "One.Two.Three.Four". Vamos utilizar novamente o mesmo método para dividi-lo.

public class Main {
  public static void main(String args[]) {
    String data = "One.Two.Three.Four";
    String[] splitted = data.split(".");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

O código acima não vai dar em nada! Lembre-se, mencionamos que a função split toma um padrão de expressão regular como entrada. Portanto, precisamos tomar medidas extras quando quisermos dividir em alguns caracteres especiais.

Ali são 12 caracteres com significados especiais:

  • a contrabarra \
  • o carpete ^
  • o sinal de dólar $
  • o período ou ponto .
  • a barra vertical ou o símbolo do tubo |
  • o ponto de interrogação ?
  • o asterisco ou estrela *
  • o sinal de mais +
  • o parêntese de abertura (
  • o parêntese de fechamento )
  • e o colchete de abertura [
  • a bracelete de abertura encaracolada {

Estes caracteres especiais são freqüentemente chamados de metacharacters.

Se quisermos dividir nossa string em qualquer um dos caracteres acima, podemos utilizar barra invertida \ para escapar desses caracteres especiais, então utilize data.split('\\.') em vez de data.split('.').

public class Main {
  public static void main(String args[]) {
    String data = "One.Two.Three.Four";
    String[] splitted = data.split("\\.");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

O código acima agora sai corretamente:

One
Two
Three
Four

Vamos tentar mais um exemplo.

Dividir em uma string

Desta vez, temos um string como este: "OneFruitTwoFruitThreeFruit". Vamos utilizar novamente o mesmo método para dividi-lo com base na string Fruit.

public class Main {
  public static void main(String args[]) {
    String data = "OneFruitTwoFruitThreeFruit";
    String[] splitted = data.split("Fruit");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

O código acima sai:

One
Two
Three

Agora sabemos como dividir uma string em Java em qualquer parâmetro dado.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se

Artigo relacionado - Java String