Recebo essa String como resposta de uma consulta e gostaria de quebrar uma linha sempre que chega no “.”
Jeff Bezos. Bill Gates. Mark Zuckerberg. Elon R Musk. Ber
nard Arnault. Warren Buffett. Mukesh Ambani. Steve Ballmer.
String umaLinha = "Jeff Bezos. Bill Gates. Mark Zuckerberg. Elon R Musk. Bernard Arnault. Warren Buffett. Mukesh Ambani. Steve Ballmer.";
String variasLinhas = umaLinha.replaceAll("\\.\\s*", "\n");
System.out.println(umaLinha);
System.out.println(variasLinhas);
Sim, o primeiro parâmetro do replaceAll
espera receber um regex.
Neste caso significa: ponto (\\.
) seguido de espaço (\\s
) nenhuma, uma ou mais vezes (*
).
Só lembrando que \s
não pega somente espaços, ele também pega TAB, quebras de linha, e vários outros caracteres.
Olá gente, quanta resposta para algo muito simples, eu em qualquer tipo de arquivo em java seja com inteiros ou strings utilizo \n para quebra de linha e sempre deu certo.
Se prestar atenção, o problema não é simplesmente adicionar uma quebra de linha e pronto. É pra adicionar somente depois do ponto final, daí a necessidade de se detectar o ponto e fazer a substituição.
Depende, sistemas operacionais diferentes possuem definições diferentes de quebra de linha. O Unix/Linux usa \n
, mas em Windows é \r\n
, e no MacOS é \r
(veja mais sobre essa bagunça aqui).
Então cuidado com o “sempre funcionou”, dependendo do caso o \n
pode não funcionar…