Split por Quebra de linha em String java
Veja neste post como usar o Split para separa um texto pela quebra de linhas para os Sistemas Operacionais Mac, Unix e Windows
Última atualização em: | 10796 Visualizações
Em outro post, mostramos como criar uma String com quebra de linha em Java: Quebra de linha String java
Vamos utilizar o mesmo exemplo para fazer um split na String separando por quebra de linha.
Note que este é mesmo procedimento pode ser utilizado na leitura de arquivo, dependendo é claro da forma que ler o texto.
Veja a classe inicial:
public class QuebraLinhaStringJava {
public static void main(String[] args) {
System.out.println("Veja a quebra de linhas");
StringBuilder sb = new StringBuilder("");
sb.append("Texto Linha 01 \n");
sb.append("Texto Linha 02 \n");
sb.append("Texto Linha 03 \r\n");
sb.append("\r\n");
sb.append("Texto Linha 05 \r\n");
System.out.println(sb.toString());
}
}
Split por quebra de linha no Java
Usando a mesma classe podemos aplicar o código para criar um Array de String separando pela quebra de linha.
Vamos aplicar o código seguinte na classe:
System.out.println("Após o Split");
String[] linhas = sb.toString().split("\\r?\\n");
System.out.println( "Foram geradas: "+ linhas.length + " linhas.");
Arrays.asList(linhas).forEach(System.out::println);
Note que foi utilizado uma expressão regular ao split (
\\r?\\n
), isso permite realizar a separação das linhas indiferente do sistema operacional utilizado.
A classe completa:
import java.util.Arrays;
public class SplitByNewLineExample {
public static void main(String[] args) {
System.out.println("Veja a quebra de linhas");
StringBuilder sb = new StringBuilder("");
sb.append("Texto Linha 01 \n");
sb.append("Texto Linha 02 \n");
sb.append("Texto Linha 03 \r\n");
sb.append("\r\n");
sb.append("Texto Linha 05 \r\n");
System.out.println(sb.toString());
System.out.println("Após o Split");
String[] linhas = sb.toString().split("\\r?\\n");
System.out.println( "Foram geradas: "+ linhas.length + " linhas.");
Arrays.asList(linhas).forEach(System.out::println);
}
}
Não esqueca de deixar suas dúvidas nos comentários e compartilhar este post.