Como remover espaços a mais em uma String em java

4 respostas
java
S

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?”

4 Respostas

I

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.

thimor
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")

I

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?

thimor

sim, testei esse codigo e peguei no stackoverflow. esta marcado como solucao.

Criado 7 de junho de 2020
Ultima resposta 10 de jun. de 2020
Respostas 4
Participantes 3