Remplacement d'un antislash [Résolu]

varlau 6 Messages postés mardi 4 janvier 2005Date d'inscription 14 juin 2011 Dernière intervention - 28 mars 2006 à 10:59 - Dernière réponse : tucobouch 207 Messages postés vendredi 17 février 2006Date d'inscription 1 mai 2009 Dernière intervention
- 28 mars 2006 à 11:32
Bonjour à tous,

je ne me rappelles plus ...
Dans une String, je reçois un chemin du style "\\serveur\partage\dir\file.xml". Il me semble que pour accéder au fichier file.xml, il faut mettre des "/" au lieu des "".
Vous rappelez vous la commande de remplacement ? je bute sur le fait que l'antislash est réservé ...
Il me semble que c'est un truc du style : chemin.replace("", "/") mais cela ne fonctione pas ...
Merci de votre aide.

Laurent.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
kirua12 1155 Messages postés samedi 17 janvier 2004Date d'inscription 29 avril 2011 Dernière intervention - 28 mars 2006 à 11:26
3
Merci
Salut,


il faut doubler l'antislash. chemin.replace("\", "/")

Merci kirua12 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de kirua12
tucobouch 207 Messages postés vendredi 17 février 2006Date d'inscription 1 mai 2009 Dernière intervention - 28 mars 2006 à 11:32
1
Merci
En java, quand tu met antislash suivit de quelque chose, Java attends un caractere echappé : ainsi quand tu tape " il considere que " est un caractere echapé (le guillemet, c'est a dire que le guillemet n'est pas considéré comme etant la fin de la chaine), si tu veux mettre \ dans une chaine il faut taper : "\" (a la compil \\ est remplacé par \ tout court)

L'echappement permet d'inserer des caracteres speciaux au milieu d'une chaine :
\n rajoute un retour a la ligne
" rajoute un guillemet
\\ rajoute un \
\t une tabulation
\0x0A un caractere ascii de code 0x0A (en hexadecimal)
etc..

dans ta chaine "\\serveur\partage\dir\file.xml" , Java va crier! lol. En effet, il va considerer que p,d et f sont echappés, la bonne maniere de les rentrer dans le code est :
"\\\\serveur\\partage\\dir\\file.xml" A la compil, tous les \\ seront remplacés par \

Pour revenir a ton probleme, pour remplacer tous tes \ en / , il faut respecter les echappement comme plus haut, tu as mal tapé ta ligne :
au lieu de chemin.replace("", "/") (Java considere que "" n'est pas une chaine terminée, c'est normal car le caractere " est echappé et ne considere pas ce caractere comme etant la fin de la chaine);
tape plutot : chemin.replace("\", "/")

Tu verra ça marchera mieux, enfin ça compilera!
Commenter la réponse de tucobouch

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.