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

Langage PHP Discussion :

Exclure nombre réel [RegEx]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 36
    Points
    36
    Par défaut Exclure nombre réel
    Bonjour,

    Voici un exemple de chaine que je souhaite traiter : "TOTAL : test hh34 fdgs 120.50.".

    J'aimerais en sortir la chaine : "120.50". C'est-à-dire le prochain nombre réel qui suit le mot "TOTAL".

    Cette expression fonctionne lorsqu'il n'y a aucun chiffre entre le total et le nombre réel : "TOTAL[^0-9]*([0-9]+\.[0-9]+)". Avec l'exemple ci-dessus, il ne fonctionne pas, car il y a la chaine "34".

    Comment puis-je faire ?

    Merci ! :-)

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Tout d'abord, juste pour la sémantique. Les nombres réels comprennent aussi bien les nombres décimaux qui eux-mêmes contiennent les entiers naturels.

    Donc ce que tu recherches c'est "un nombre à virgule" mais avec un point à la place.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (preg_match('~TOTAL.*?([0-9]+\.[0-9]+)~', $str, $m))
        echo $m[1];
    En utilisant un quantificateur paresseux avec le point, tu obtiendras le premier nombre à virgule qui suit, sans la contrainte de la classe de caractère [^0-9].
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 72
    Points : 36
    Points
    36
    Par défaut
    Niquel ! Merci, ça marche ! :-)

    Ah oui, en effet ce n'est pas un nombre réel que je cherchais, mais bien un nombre à virgule représenté par un point ! :-)

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

Discussions similaires

  1. Affichage nombres réels
    Par ingelman dans le forum WinDev
    Réponses: 3
    Dernier message: 18/01/2006, 15h28
  2. Affichage des nombres réels!
    Par smail21 dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/11/2005, 17h49
  3. Insertion d'un nombre réel dans une table
    Par mouloudéen dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/09/2005, 23h17
  4. Stockage d'un nombre réel
    Par vermo dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/04/2005, 15h01
  5. Stocker un nombre réel
    Par julson dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/04/2004, 08h59

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