[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

5 réponses

  1. 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
    1. Lilian
       
      Salut,


      Il faut le quadrupler

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

      a++
      0
    2. Engin9
       
      C'est tout a fait ça, merci.
      0
  2. 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
  3. ltls
     
    J'ai le meme probleme actuellement.
    peux tu me dire comment tu as fait si tu as trouve?

    Merci
    ltls
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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