replaceAll

6 respostas
jvlouvem

Olá pessoal, estou tentando fazer um replaceAll e estou tendo problemas.

Quero trocar toda barra invertida:
Por barra normal: /

Para isso eu chamo a seguinte linha:

conteudo.replaceAll("\", "/");

Ocoore o seguinte erro

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

PS: Infelizmente estou tendo que usar o java 1.4 e vi que este metodo nao tem sobrecarga, só tem essa chamada replaceAll(arg0, arg1). É problema de versão ou tem como trocas as barras ?

6 Respostas

Lavieri

usa o replace(arg,arg2)

no lugar od replaceAll

T

A barra “” é um caracter especial para expressões regulares.
Ela serve para indicar que o próximo caracter tem significado especial. Em particular, se você puser mais uma “”, ela se comporta como se fose uma única “”.

Você pode fazer isto aqui:

String x = "\abc\def";
x = x.replaceAll ("\\", "/");

No Java 5.0 ou posterior:

String x = "\abc\def";
x = x.replaceAll (Pattern.quote ("\"), "/");
T

Lavieri:
usa o replace(arg,arg2)

no lugar od replaceAll

Em Java 1.4 não há essa opção.

Maniezo
conteudo.replaceAll("\\", "/");
jvlouvem

As quatro barras funcionaram :slight_smile:

Eu pensei que para escapar era só botar uma ou duas barras.

Valeu pessoal :wink:

Michel_Sancovich

a primeira barra significa que o segundo caractere será aceito, mesmo ele sendo especial

Criado 6 de fevereiro de 2009
Ultima resposta 6 de fev. de 2009
Respostas 6
Participantes 5