Como dividir a string para se arraigar em Java

Hassan Saeed 12 outubro 2023
  1. Utilize split(delimitador) para Split String to an Array em Java
  2. Utilize split(regex, limit) para Split String to an Array em Java e Keep the Trailing Empty Strings
Como dividir a string para se arraigar em Java

Este tutorial discute métodos para dividir as strings em uma array em Java.

Suponha que tenhamos uma string separada por vírgula John, 23, $4500. Precisamos dividir os dados com base na vírgula e armazená-los em um array como este: ["John", "23", "$4500"]. É aqui que o método split() vem a calhar.

Utilize split(delimitador) para Split String to an Array em Java

Precisamos passar o delimitador para dividir o string com base nele. O método split() quebraria a string em cada ocorrência do delimitador e armazenaria cada valor na array. O exemplo abaixo ilustra isso.

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",");
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Resultado:

1
2
3

5
6

Embora tenhamos duas strings vazias no final, a array resultante não contém as duas últimas strings vazias. É porque o comportamento padrão de split() remove todas as strings vazias da array resultante.

Utilize split(regex, limit) para Split String to an Array em Java e Keep the Trailing Empty Strings

Podemos anular este comportamento passando um parâmetro adicional para a função split(): split(regex, limit). Passar um limite negativo garantiria que o padrão regex fosse aplicado o maior número de vezes possível, incluindo assim todas as strings vazias da fenda.

O exemplo abaixo ilustra isto:

public class MyClass {
  public static void main(String args[]) {
    String data = "1,2,3,,5,6,,";
    String[] split = data.split(",", -1);
    for (int i = 0; i < split.length; i++) System.out.println(split[i]);

    System.out.println("Done");
  }
}

Resultado:

1
2
3

5
6


Done

Podemos ver que agora foram impressos os dois últimos cordões vazios da fenda.

Artigo relacionado - Java String