[RESOLVIDO]String.replaceAll

2 respostas
Guilherme_Gomes

A seguir o meu código:

texto = texto.replaceAll("content.asp?tc=..&cc=..&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=...&cc=...&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=.&cc=.&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=..&cc=...&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=...&cc=..&id=", "/?conteudo=");
		  
		texto = texto.replaceAll("content.asp?tc=.&cc=..&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=..&cc=.&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=.&cc=...&id=", "/?conteudo=");
		texto = texto.replaceAll("content.asp?tc=...&cc=.&id=", "/?conteudo=");

Estou usando os ponto para substituir numeros, e os varios replaceAll’s servem para substituir os vários casos, com 1, 2 ou 3 algorismos por número. Estou convertendo uma tabela para migrar um sistema para java! Mas estou com problema nesse replaceAll, por exemplo:

String a = "content.asp?tc=1&cc=1&id=403";
		if(a.indexOf("content.asp?tc=.&cc=.&id=")!=-1)
			System.out.println("FOI");
		a=a.replaceAll("content.asp?tc=.&cc=.&id=", "/?conteudo=");
		System.out.println(a);

O resultado é : content.asp?tc=1&cc=1&id=

Alguem pode me dizer por que ele não está substituindo?

2 Respostas

Amanweb

Use uma expressão regular para fazer isso:

String texto = "content.asp?tc=1&cc=1&id=403";
	
texto = texto.replaceAll("content\.asp\?tc=[0-9]+&cc=[0-9]+&id=[0-9]+", "/?conteudo=");
		
System.out.println(texto);

Saída: /?conteudo=

Isso serve para texto que siga o padrão content.asp?tc=NUMERO&cc=NUMERO&id=NUMERO

[]s

Guilherme_Gomes

hehehe, ja consegui , mas usei o seguinte:

"content\.asp\?tc=\d.cc=\d.id="

Vlw, de qq maneira ^^

Criado 2 de agosto de 2007
Ultima resposta 2 de ago. de 2007
Respostas 2
Participantes 2