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 :

Supprimer les caracteres du style \xc2 d'une chaine.


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Supprimer les caracteres du style \xc2 d'une chaine.
    Voila j'ai ce probleme, dans certaine chaines que je recupere sur internet j'ai des problemes à les mettres dans une base de donnée à cause d'erreur de Decode Unicode.

    Donc je me voudrais enlever ces caractere.

    J'ai envisaver les expressions regulieres mais le probleme est que la mienne marche dans kodos (verificateur de regex) mais python n'en veut pas...

    \\x[0-f][0-f] => Pour recuperer \xc2 par exemple

    Hé bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    reg = re.compile('\\x[0-f][0-f]')
    Traceback (most recent call last):
      File "<input>", line 1, in ?
      File "/usr/lib/python2.4/sre.py", line 180, in compile
        return _compile(pattern, flags)
      File "/usr/lib/python2.4/sre.py", line 227, in _compile
        raise error, v # invalid expression
    error: bogus escape: '\\x'
    Si quelqu'un a une idée

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reg = re.compile(r'\\x[0-f][0-f]')
    Le compilateur de regex ne sait pas quoi faire avec ta regex car pour lui \x doit être suivi d'un nombre hexa
    N.B.: le "r" devant la chaîne sert uniquement à éviter les "\\\\" (cf la note dans la documentation à ce propos: http://docs.python.org/lib/module-re.html deuxième et troisième paragraphe)

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Merci mais quelque chose cloche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> import re
    >>> reg = re.compile(r'\\x[0-f][0-f]')
    >>> t = open("t.spl","r")
    >>> txt = t.read()
    >>> print txt
     http://www.zataz.com/communiques-presse/11108/Claranet-remporte-plusieurs-contrats-d’hebergement-de-blogs.html
     http://www.zataz.com/
    >>> reg.sub('', txt)
    'http://www.zataz.com/communiques-presse/11108/Claranet-remporte-plusieurs-contrats-d\xc2\x92hebergement-de-blogs.html\nhttp://www.zataz.com/'
    Voila le probleme c'est ce genre de caracteres que je voudrais supprimer

Discussions similaires

  1. Supprimer les caracteres à partir de @domain.com
    Par amalirou dans le forum MySQL
    Réponses: 1
    Dernier message: 26/05/2015, 22h23
  2. Supprimer les 0 après le résultat d'une formule
    Par yliandre dans le forum Excel
    Réponses: 7
    Dernier message: 12/02/2011, 12h32
  3. Réponses: 3
    Dernier message: 02/06/2008, 16h37
  4. Compter les occurences d'un car dans une chaine/variable
    Par sherlockfr dans le forum Windows
    Réponses: 2
    Dernier message: 10/11/2005, 07h48
  5. [DB2] supprimer les caractere spéciaux
    Par guin dans le forum DB2
    Réponses: 1
    Dernier message: 17/01/2005, 16h34

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