[JAVA] remplacer '\' par '\\'

jerome -  
yamdjio Messages postés 91 Statut Membre -
Bonjour,

je souhaite remplacer dans un String tous les backslash '\' par des double backslash '\\'.
Or l'instruction texte.replaceAll("\\", "\\\\") ne fonctionne pas.

Je suis un peu perdu

Merci de votre aide.
Configuration: j2sdk 1.4.2
A voir également:

5 réponses

carkiasis Messages postés 67 Date d'inscription   Statut Membre 28
 
Dans la doc java API, il est noté que :
str.replaceAll(regex,replacement)
equivaut à :
 Pattern.compile(regex).matcher(str).replaceAll(replacement)

Essayez avec cette technique, peut etre que ca marchera.

Ou alors, le probleme vient peut etre d'un probleme d'allocation.
Essayez, au lieu de replaceAll("/","//") de mettre :
String regex=new String("/");
String replacement=new String("//");
str.replaceAll(regex,replacement);

Voila, la solution est peut etre là.

a+
4
Lilian
 
Salut,


Il faut le quadrupler

myString.replaceAll("\\\\", "\\\\\\\\") ;
Et ça devrait marcher.

a++
0
Engin9
 
C'est tout a fait ça, merci.
0
Zioch
 
j' ai le même pb et je l'ai résolu tout simplement comme ça :
String as = new String ("\\");
String das = new String("\\\\");
str =str.replace(as, das);
4
ltls
 
J'ai le meme probleme actuellement.
peux tu me dire comment tu as fait si tu as trouve?

Merci
ltls
0
terro3 Messages postés 64 Statut Membre 13
 
carkaris , le regex ne veut pas dire string regex (ou regex n'est que le nom) regex veut dire regular expression et ca a une syntaxe biern particuliere , je conseille d'aller voir les tuto la dessus car / signifie quelque chose en regex , je ne sais plus s'il faut mettre des parentheses ou crochets.... le plus facile doit etre de faire 2 expressions reguliere (string truc = new regex et apres truc = ... ) pour pouvoir faire srt.remplace(truc,machin)

(ou je peux me tromper :p )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yamdjio Messages postés 91 Statut Membre 5
 
salut je vient de tomber sur le pb. remplacer le caractère \ par \\ par exemple pour les noms de dossier et absolute path.

pour cela il faudra bien évidement utiliser string.replace mais d'une façon un peu plus particulière :

string test=new string ("c:\disc");
string test1=test.replaceAll("\\\\", "\\\\\\\\");

j'espère pouvoir aider ceux qui auront ce même problème plutard................
0