Ajuda com expressões regulares [Resolvido]

9 respostas
Algebra
texto = "Responda-me quanto é 2-2"

texto = texto.replaceAll("[a-z]-[a-z]", " "); //só pode retirar os hifens que estejam entre letras - entre numeros não

/saída atual/ texto == “Respond e quanto é 2-2”;

/saída desejada/ texto == “Responda me quanto é 2-2”;

Oque devo mudar no código acima?

9 Respostas

B
texto.replaceAll(".[a-z\-a-z].", " ");

ve se assim da certo.

Algebra

essa barra “” não consigo usar - dá um erro de ilegal scape character

rodrigo.bossini
Algebra:
texto = "Responda-me quanto é 2-2"

texto = texto.replaceAll("[a-z]-[a-z]", " "); //só pode retirar os hifens que estejam entre letras - entre numeros não

/*saída atual*/ texto == "Respond e quanto é 2-2";

/*saída desejada*/ texto == "Responda me quanto é 2-2";

Oque devo mudar no código acima?

Não duplique (ou triplique, como nesse caso) tópicos.
Isso é uma regra básica em qualquer fórum. E outra, o erro que você está reportando referente à "\" é um erro trivial, simples, que qualquer estagiário com o mínimo de esforço consegue resolver. Portanto, esforce-se, e não espere que o pessoal do fórum resolva seus probleminhas de faculdade para você.

Algebra

Amigo rod.Attack desculpe-me pela minha inferioridade. E se for tecer comentários não produtivos prefira não tecer nada oks.

rodrigo.bossini

Há uma diferença fundamental entre falta de esforço e inferioridade. Você seria mais produtivo tentando resolver o problema do que triplicando tópicos.

josemanzoli

Esse regex está quase resolvendo seu problema, só precisa parar de comer 2 espaços.

public class teste {

	private String texto;
	
	public teste(String param){
		texto = param;
	}
	
	public String getTexto(){
		return texto;
	} 
	
	public void setTexto(String param){
		texto = param;
	}
	
	public String alterTexto(){
		return texto.replaceAll("([\\D]-)", " ");
	}
	
	public static void main(String[] args) {
		teste texto = new teste("Responda-me quanto é 2-2 teste-testando 3--4 --  mais -um");  
		System.out.println(texto.alterTexto());
	}
}

Saída = Respond me quanto é 2-2 test testando 3 4 - mais um

Algebra
texto = texto.replaceAll("[a-z][-]", " ");

assim também obtenho o mesmo problema com relação a saída

respond me quanto é 2 - 2

andeb
rod.attack:
Algebra:
texto = "Responda-me quanto é 2-2"

texto = texto.replaceAll("[a-z]-[a-z]", " "); //só pode retirar os hifens que estejam entre letras - entre numeros não

/*saída atual*/ texto == "Respond e quanto é 2-2";

/*saída desejada*/ texto == "Responda me quanto é 2-2";

Oque devo mudar no código acima?

Não duplique (ou triplique, como nesse caso) tópicos.
Isso é uma regra básica em qualquer fórum. E outra, o erro que você está reportando referente à "\" é um erro trivial, simples, que qualquer estagiário com o mínimo de esforço consegue resolver. Portanto, esforce-se, e não espere que o pessoal do fórum resolva seus probleminhas de faculdade para você.

Hunf, desse jeito você xinga os estagiários haha
Nem eles são tão preguiçosos assim :~

@Autor do tópico: Tó:
texto.replaceAll("([a-zA-Z])-([a-zA-Z])", "$1 $2")
Algebra

Muito bom - parabéns a todos vocês

Criado 31 de maio de 2010
Ultima resposta 31 de mai. de 2010
Respostas 9
Participantes 5