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 :

Parser une chaine de caractères


Sujet :

Python

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Points : 43
    Points
    43
    Par défaut Parser une chaine de caractères
    Bonjour,

    Je souhaiterai parser une chaine de caractères.
    Elle ressemble à :
    dbname='data' host=12.12.12.12 port=5000 user='user' password='pwd' sslmode=disable key='gid' srid=2154 type=MULTIPOLYGON table="public"."mnt" (geom) sql=

    Comment je peux faire pour récupérer ce qu'il y a en gras ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Soit vous le faites proprement avec des regexp, soit vous y allez "crade":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    >>> s = ("dbname='data' host=12.12.12.12 port=5000 user='user' password='pwd' "
    ... "sslmode=disable key='gid' srid=2154 type=MULTIPOLYGON "
    ... 'table="public"."mnt"'
    ... )
    >>> for kv in s.split():
    ...     print (kv.split('=')[1])
    ...
    'data'
    12.12.12.12
    5000
    'user'
    'pwd'
    disable
    'gid'
    2154
    MULTIPOLYGON
    "public"."mnt"
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Points : 43
    Points
    43
    Par défaut
    J'aurai préféré la méthode propre à base de regex.

    J'ai essayé ceci pour récupérer l'ip :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            regex = re.compile("host=(\d+.\d+.\d+.\d+)")
            ip = regex.match(chaineDeCaractere)
    Mais ça ne fonctionne pas !

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par batchi Voir le message
    J'aurai préféré la méthode propre à base de regex.
    ...
    Mais ça ne fonctionne pas !
    Certes.
    Ca commence par lire la documentation, apprendre que .match et .search sont différents, tester a la console,...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import re
    >>> m = re.search(r'host=(\d+.\d+.\d+.\d+)', s)
    >>> m.groups()
    ('12.12.12.12',)
    >>>
    En fait, c'est juste le boulot de base d'un programmeur.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [XL-2007] Parser une chaine de caractère SQL avec un code en VBA
    Par Sosthy10 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/06/2015, 11h49
  2. [DOM] Parser une chaine de caractères au lieu d'un fichier
    Par kkt8 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/03/2012, 10h30
  3. [XML] Parser une chaine de caractère XML
    Par lololeuleu dans le forum APIs
    Réponses: 10
    Dernier message: 16/08/2007, 21h27
  4. Parser une chaine de caractères
    Par mariafan dans le forum Langage
    Réponses: 8
    Dernier message: 18/07/2007, 09h49
  5. Parser une chaine de caractère
    Par Nasky dans le forum C++
    Réponses: 7
    Dernier message: 04/12/2006, 19h37

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