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 :

Extraire un nombre d'une grande chaine de caractères


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 90
    Par défaut Extraire un nombre d'une grande chaine de caractères
    Bonjour,

    j'ai une grande chaine de caractères, qui contient des chiffres et des lettres, et je voudrais extraire le nombre qui sera derrière une partie bien préciser de la chaine. Ca ressemblera à ça
    blablabljjkh56 lkJLKJ 554 MARQUEUR: XXX ksjds 898 çnsdkfj blabla
    et je veux récupérer le nombre XXX après le "MARQUEUR: ". Je sais qu'il faut chercher du coté des expression rationnelles que je connais un peu, mais les exemples du net que je trouve sont plus simples : il n'y a souvent qu'un nombre dans la chaine, alors que là il y en a plein et je veux juste la partie après un marqueur...

    Quelqu'un peut me mettre sur la voie ?

    Merci !

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 64
    Par défaut
    La REGEXP dépend du contexte.

    #MARQUEUR: /d+# suffit si tu es sûr que les chiffres derrière marqueurs ne sont ni espacés par des tirets ou autres séparations.

    Sinon tu peux utiliser #MARQUEUR: [^a-ZA-Z]+# qui va avancer jusqu'à la première lettre suivante. c'est cependant bien plus risqué

    ensuite si tu veux le nombre uniquement entoure /d+ ou [^a-ZA-Z]+ par des parenthèses et utilise ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    preg_match('#MARQUEUR: (/d+)#',$text,$matches);
    $nombre = $matches[1];

Discussions similaires

  1. Extraire les nombres d'une chaine avec regex
    Par Alain15 dans le forum Général Java
    Réponses: 2
    Dernier message: 04/05/2011, 08h32
  2. [CR XI] extraire un nombre dans une chaine de caractère
    Par kikidrome dans le forum Formules
    Réponses: 4
    Dernier message: 01/10/2009, 13h39
  3. Extraire un nombre dans une chaine
    Par SIGOliv dans le forum Access
    Réponses: 16
    Dernier message: 13/03/2006, 15h44
  4. [MySQL] extraire des nombre d'une chaine de caractères et addition
    Par Yotho dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/03/2006, 16h54
  5. [LG]Extraire des nombres d'une chaine
    Par audreym31 dans le forum Langage
    Réponses: 4
    Dernier message: 18/01/2004, 21h24

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