[JAVA] remplacer '\' par '\\' [Fermé]

Signaler
-
Messages postés
89
Date d'inscription
lundi 18 août 2014
Statut
Membre
Dernière intervention
21 mai 2015
-
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.

5 réponses

Messages postés
67
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 avril 2007
26
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56999 internautes nous ont dit merci ce mois-ci

Salut,


Il faut le quadrupler

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

a++
C'est tout a fait ça, merci.
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56999 internautes nous ont dit merci ce mois-ci

J'ai le meme probleme actuellement.
peux tu me dire comment tu as fait si tu as trouve?

Merci
ltls
Messages postés
62
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
11
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 )
Messages postés
89
Date d'inscription
lundi 18 août 2014
Statut
Membre
Dernière intervention
21 mai 2015
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................