Problemas com caracteres especiais - Classe Regex

2 respostas
A

Oi pessoal,

Eu tenho uma classe, que faz um tratamento em um arquivo “.xml”, e estou usando expressões regulares.

Porém, quando na entrada do meu arquivo, tenho “$” na frase, quando utilizo:

trataDados.appendReplacement(buf, “”+guardaDados+"\r\n" + guardaEmenta + “”);

Acontece o seguinte erro:

java.lang.IllegalArgumentException: Illegal group reference

at java.util.regex.Matcher.appendReplacement(Matcher.java:706)

at TrataEmenta.SubstituiEmentaFed(TrataEmenta.java:57)

at MainTrataEmenta.main(MainTrataEmenta.java:34)

Eu já sei que é o erro referente ao caractere especial, mas alguém sabe como posso tratar isso?

Obrigada!

2 Respostas

T

Qual é a expressão regular que você está usando?
Normalmente você deve pôr “\$” em vez de “$”.

A

Já consegui “desvendar” o problema.

O que acontece, é que “$,(,)” são caracteres especiais na classe Matcher; por isso, precisei “manipular” esses caracteres, para não dar erro.

Criado 18 de maio de 2006
Ultima resposta 18 de mai. de 2006
Respostas 2
Participantes 2