Adicionar ou remover quebra de linha em String no Java

Este post é uma dica de como pode adicionar uma quebra de linha ou remover uma quebra de linha de uma String no Java

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

Última atualização em: | 52938 Visualizações

Esta é uma dica simples para remover ou adicionar quabra de linha em String no Java.

Caracter de quebra de linha

A quebra de linha em String pode ser diferente para os sistemas operacionais, veja:

  • UNIX, Linux ou Mac OSx = \n
  • Windows = \r\n

Adicionando quebra de linha em String

Para adicionar uma quebra de linha em String basta adicionar os caracteres na String, veja:

String original = "Hello World Java";

// add new line
original += "\nI'm in a new line";

System.out.println(original);


Ou ainda, para Java 1.7 ou superior pode utilizar System.lineSeparator().

String original = "Hello World Java";

// add new line
original += System.lineSeparator() +"I'm in a new line";

System.out.println(original);

A saída para ambos os casos é:

Hello World Java
I'm in a new line

Removendo quebra de linha em String

Para remover uma quebra de linha de uma String é necessário remover os caracteres de quebra.

Neste primeiro exemplo, removemos apenas o \n da linha.

String original = "Line Break in Java: \nI'm in a new line";
String removedLineBreak = original.replaceAll("\\n", "");
System.out.println(removedLineBreak);

Note que o replaceAll() recebe um regex para localizar os caracteres e retorna uma nova String.

Será impresso: Line Break in Java: I'm in a new line.

Isso funciona muito bem para linux, por exemplo.

Já para windows teriamos os caracteres \r\n no texto. Dessa forma teriamos que utilizar:

String original = "Line Break in Java: \r\nI'm in a new line";
String removedLineBreak = original.replaceAll("\\r\\n", "");
System.out.println(removedLineBreak);

Note que se utilizamos apenas \\n no replaceAll não será removida a quebra de linha.

Será impresso: Line Break in Java: I'm in a new line.

Para resolver para ambos os casos, considere utilizar o exemplo:

String original = "Line Break in Java: \nI'm in a \r\nnew line";
String removedLineBreak = original.replaceAll("\\r\\n|\\n", "");
System.out.println(removedLineBreak);

Note que utilizando \\r\\n|\\n temos o pipe | indicando que deve remover qualquer um dos caracteres.

Será impresso: Line Break in Java: I'm in a new line.

O exemplo completo fica assim:

import org.junit.Test;

public class LineBreakTest {

    @Test
    public void addLineBreak() {
        String original = "Line Break in Java:";
        original += "\nI'm in a new line";
        System.out.println(original);
    }

    @Test
    public void addLineBreakCase2() {
        String original = "Line Break in Java:";
        original += System.lineSeparator() +"I'm in a new line";
        System.out.println(original);
    }

    @Test
    public void addRemoveLineBreak() {
        String original = "Line Break in Java: \nI'm in a new line";
        String removedLineBreak = original.replaceAll("\\n", "");
        System.out.println(removedLineBreak);
    }

    @Test
    public void addRemoveLineBreak1() {
        String original = "Line Break in Java: \r\nI'm in a new line";
        String removedLineBreak = original.replaceAll("\\r\\n", "");
        System.out.println(removedLineBreak);
    }

    @Test
    public void addRemoveLineBreak2() {
        String original = "Line Break in Java: \nI'm in a \r\nnew line";
        String removedLineBreak = original.replaceAll("\\r\\n|\\n", "");
        System.out.println(removedLineBreak);
    }
}

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!