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

Wolmir Cezer Garbin por Wolmir Cezer Garbin - - Java - TUTORIAL

Última atualização em: | 10520 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.


Apoiadores

Publique seu post no Receitas de Código

Aguarde, estamos trabalhando para que você possa publicar sua postagem no Receitas de Código!