[Java] probleme avec String.replaceAll()

jerome -  
maily Messages postés 7560 Statut Contributeur -
Bonjour,

j'ai un problème avec l'utilisation de la méthode replaceAll() de la classe String.

lorsque je fais
texte.replaceAll(text1, text2) il y a un problème lorsque text1 ou text2 contiennent des anti-slash (\).
en effet, replaceAll utilise des regex et donc les anti-slash sont supprimés et au lieu d'obtenir c:\toto\index.htm j'obtiens
c:totoindex.htm

Comment y remédier ?

Merci d'avance
Configuration: j2sdk 1.4.2

3 réponses

  1. tafiscobar Messages postés 1281 Statut Contributeur 177
     
    salut, il fo tout simplement mettre un autre antislash coe ça il va bien l'interpréter
    1
  2. jerome
     
    salut,
    merci de ta réponse mais il y a un problème :
    je ne connais pas exactement le teste à modifier car ce n'est pas moi qui l'écrit maius il est lu dans un fichier...

    Comment faire ??

    merci
    0
  3. maily Messages postés 7560 Statut Contributeur 453
     
    Tu crées une fonction qui parcours tes string avant et qui les protège
    dès que tu rencontre un caractère à protéger, tu rajoutes un \ devant!

    Pour plus d'information:
    http://java.sun.com/j2se/1.4.2/docs/api/index.html
    et tu regardes l'objet Pattern ou les caractères spéciaux sont définis!
    0