Como deletar um caracter de uma String?

6 respostas
luciano_castilho

Caros amigos,

Achei que ia ser fácil varrer uma String e deletar dela um determinado caracter, mas não estou tendo sucesso.
Digamos que eu tenha uma String qualquer e queira remover a letra "a" dela, algo assim:

String strOld = "java avançado";
String strNew = delCaracter(strOld, "a")

System.out.print(strNew);  // mostraria "jv vnçdo"

Gente, sei que parece baba mas não estou sabendo como fazer :? , poderiam de dar sugestões de como implementar o método delCaracter() ?

Mui grato! :wink:

6 Respostas

B

Tente usar algo como...

String alfa = "lalalal alalalal alalal";
 
alfa = alfa.replaceAll("a", "");

Tente... :) não testei isso...

Gustavo Guilherme BacK

leonardom

Tente esse metodo:

public static String deleteChar(String str, char c)
	{
		StringBuffer new_str = new StringBuffer();
		
		for (int i=0; i<str.length(); i++)
		{
			if (str.charAt(i) != c)
			{
				new_str.append( str.charAt(i) );
			}			
		}
		
		return new_str.toString();		
	}

Espero ajudar

om1

Eu uso o método StringUtils.replace(String text, String repl, String with)

Do commons.lang, que vc pega em:

http://jakarta.apache.org/commons/lang.html

[]'s

Paulo_Silveira

Eu voto no codigo do Guilherme
Expressoes regulares estao ai para isso.

Ah, mas para responder no fundao a sua pergunta, nao remove-se caracteres de strings, ja que elas sao imutaveis :slight_smile:

cv1

O codigo do Guilherme definitivamente é a melhor solução, mas fica aqui o lembrete de que o método replaceAll só entrou na classe String na versão 1.4 do Java. Se vc precisar ter compatibilidade com versões anteriores (1.3, que, infelizmente, ainda é bem comum), vale a dica do om, de usar a StringUtils. :wink:

luciano_castilho

Obrigado a todos! Realmente o cód do Guilherme funcionou Ok.

T+

Criado 12 de setembro de 2003
Ultima resposta 15 de set. de 2003
Respostas 6
Participantes 6