24 março 2010

Dica Java SE: como remover espaços de um tipo String

De vez em quando eu postarei algumas dicas sobre programação em geral que considero úteis para um desenvolvedor. Vou focar em Java, mas pode-se procurar métodos similares nas outras linguagens de programação.

Uma maneira (não a única) para remover espaços em branco de uma variável de tipo String pode ser percorrida com o comando trim() e replaceAll(...).

 

/**

* Este programa visa exemplificar o uso do método da classe String chamado trim() e

* alguns cenários de uso.

*

* @author Douglas Daniel Del Frari

* @since 24/marco/2010.

*/

public class TesteTrim {

public static void main(String[] args) {

// Como remover os espacos do valor de um tipo String??

String nome = " Douglas Daniel Del Frari ";

System.out.println("nome 1: " + nome + " tamanho: "+nome.length());

// o método trim() permite remover os espacos. Obs.

// So funciona com espacos de inicio e fim do texto

String nome2 = nome.trim();

System.out.println("nome 2: "+ nome2 + " tamanho: "+nome2.length());

// Como remover qualquer espaco da string?

// pode-se usar o método replaceAll(...). Ex.

String nome3 = nome.replaceAll(" ", "");

System.out.println("nome 3: "+nome3 + " tamanho: "+nome3.length());

} // fim do método main

} // fim da classe

SAÍDA NO CONSOLE TEXTUAL:
 

nome 1: Douglas Daniel Del Frari   tamanho: 29
nome 2: Douglas Daniel Del Frari tamanho: 24
nome 3: DouglasDanielDelFrari tamanho: 21

Conclusão
Qualquer valor do tipo String possui vários métodos interessantes (consulte a API). Neste exemplo utilizamos o método trim() para remover os espaços. Entretanto, ele somente remove os espaços da posição que antecede e procede o texto inicial e final, respectivamente. Para contornar, podemos usar o método replaceAll(...), onde especificamos o que será removido e pelo que iremos replicar (removemos todos os espacos " " por "" --> caracteres sem espaço).


Um comentário:

camilo lopes disse...

legal o post! parabens! e quando nao for um espaco e sim um simobolo !? podemos usar regex como solucao.

flw! abracos,