Performance - Remoção de Espaços em Branco

6 respostas
L

Pessoal, boa tarde

Apesar de ser uma necessidade relativamente simples, não encontrei nenhum método pronto em Java que realizasse a tarefa de remover qualquer espaço em branco entre palavras de uma frase.
Sendo assim, resolvi fazer um método para atender a minha necessidade.

Gostaria de ver com vocês, se esta é a melhor maneira de fazer.
Estou preocupado em relação a performance, pois o volume das informações será bastante grande.

Ou que eu passo para o método é a frase:

ERA UMA VEZ UM METODO EM JAVA.

O método me devolve a mesma frase assim:

ERAUMAVEZUMMETODOEMJAVA.

Agradeço a atenção de todos.

Segue abaixo o método que eu fiz:

public String removeEspacoEntreFrase(String frase) {

		char[] arrayComFrase = frase.toCharArray();

		StringBuffer fraseSemEspaco = new StringBuffer();

		for (int i = 0; i < arrayComFrase.length; i++) {

			if (arrayComFrase[i] == ' ') {
				continue;
			}

			fraseSemEspaco.append(arrayComFrase[i]);
		}

		return fraseSemEspaco.toString();
	}

6 Respostas

xandevieira

mas se sua frase for uma String vc pode usar o metodo trim();

A

Na verdade o trim retira os espeços em branco das extremidades ( inicio e final da string).

Acredito que você pode usar de vários maneiras, um replaceAll, bufferizando ( quebrando em varias strings, ou até disparando várias threads concorrentes);

Espero ter ajudado.

L

Boa tarde avsouza

Não, com trim() não atende a minha necessidade.

O trim() remove espaços no início e no fim de uma frase, mas no meio da frase não.

Exemplo:

…TESTE DE FRASE…

O trim() faz isto:

TESTE DE FRASE

O que o meu método faz é isso:

TESTEDEFRASE

Att.
Lucas

xandevieira

pô, eh verdade. hehehe

S

replaceAll(" “,”") não rola ?

L

Ssalgado, perfeito !!!

Não acredito que foi tão fácil, funcionou beleza.

Valeu pela dica cara !!!

Att.
Lucas

Criado 2 de julho de 2008
Ultima resposta 2 de jul. de 2008
Respostas 6
Participantes 4