IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

erreur avec la fonction "replace" en python


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Points : 93
    Points
    93
    Par défaut erreur avec la fonction "replace" en python
    Bonjour
    j'utilise la fonction replace pour remplacer "\" par "/" mais elle me genere une erreur :
    SyntaxError: EOL while scanning string literal
    mon code c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chaine="ta\pa\da\ca"
    chaine2=chaine.replace('\','/')
    print "chaine = ",chaine
    print "chaine 2 = ",chaine2
    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Points : 93
    Points
    93
    Par défaut
    j'ai corrigé l'erreur en rajoutant des "." mais elle remplace pas correctement comme il faut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chaine="ta\pa\da\ca"
    chaine2=chaine.replace('.\.','./.')
    print "chaine = ",chaine
    print "chaine 2 = ",chaine2
    voici les résultat que j'ai :
    chaine = ta\pa\da\ca
    chaine 2 = ta\pa\da\ca


    j'aimerais avoir ces résultats :
    chaine = ta\pa\da\ca
    chaine 2 = ta/pa/da/ca

    comment je peux faire ???

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 059
    Points : 1 396
    Points
    1 396
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ta\pa\da\ca".replace('\\','/')

  4. #4
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    En rajoutant des points, tu as simplement empêcher toute détection (puisque le motif .\. n’apparaît nulle part dans ta chaîne).

    Ton problème vient du fait que \ n’est pas un caractère normal, c’est un caractère d’échappement, qui permet “d’écrire” autre chose que des lettres (par ex., \n signifie “new line”, etc.). Pour obtenir un \, il faut lui-même l’échapper, \\ !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chaine="ta\\pa\\da\\ca"
    chaine2=chaine.replace('\\','/')
    print("chaine = ", chaine)
    print("chaine 2 = ", chaine2)
    Ou alors, il te faut utiliser les chaînes “raw”, comme ceci*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    chaine=r"ta\pa\da\ca"
    chaine2=chaine.replace('\\','/')
    print("chaine = ", chaine)
    print("chaine 2 = ", chaine2)
    [EDIT] Grillé, mais ton code ne marchera pas avec des code d’échappement valides, comme \a ou \n par ex., josmiley

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Points : 93
    Points
    93
    Par défaut
    merci ca passe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur avec la fonction Replace
    Par johannj dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/08/2009, 15h42
  2. [Mail] erreur avec utilisation fonction mail
    Par taka10 dans le forum Langage
    Réponses: 7
    Dernier message: 12/07/2006, 16h19
  3. erreur avec la fonction putfile() sur connexion FTP
    Par stefane1981 dans le forum C++
    Réponses: 2
    Dernier message: 23/09/2005, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo