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