Eu preciso ler uma frase e remover os seu espaços a mais. Por exemplo:
Se o usuario digitar "Oi ``blz? "
tenho que deixar:
“Oi blz?”
Como remover espaços a mais em uma String em java
4 Respostas
Pode remover espaços usando o método strip (remove espaço em branco no começo e no fim de uma String) ou trim (remove espaços final e inicial de uma String). Ambos são métodos da classe String do pacote java.lang. Para mais detalhes, consulte a documentação: Oracle Docs: Java - String Class.
Para remover espaço e caracteres indesejados no interior de uma String somente usando métodos personalizados auxiliados por métodos das classes String e Character e/ou usando Regex.
String[] tests = {
" x ", // [x]
" 1 2 3 ", // [1 2 3]
"", // []
" ", // []
};
for (String test : tests) {
System.out.format("[%s]%n",
test.replaceAll("^ +| +$|( )+", "$1")
);
}
o segredo esta nisso aqui: replaceAll("^ +| +$|( )+", "$1")
Se fosse traduzir, seria algo como:
“havendo um ou mais espaços no início da linha” = "^ +
“ou” = |
“um ou mais espaços no final da linha” = +$
“ou” = |
“um ou mais grupos de captura vazios” = ( )+
“recoloque no lugar, finalizando a linha e utilizando o primeiro grupo de captura vazio encontrado” = $1
Procede?
sim, testei esse codigo e peguei no stackoverflow. esta marcado como solucao.