Como dividir a string para se arraigar em Java
-
Utilize
split(delimitador)
para Split String to an Array em Java -
Utilize
split(regex, limit)
para Split String to an Array em Java e Keep the Trailing Empty Strings
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.