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

JavaScript Discussion :

[Regex] Récupérer une chaîne qui suit un caractère spécial


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Par défaut [Regex] Récupérer une chaîne qui suit un caractère spécial
    Bonjour,

    Je souhaiterais récupérer en JavaScript une chaîne de caractères se situant après le caractère ">" :

    Exemple :

    >nom1

    Je souhaiterais, à l'aide d'une expression régulière, récupérer "nom1" dans une variable, mais je n'arrive pas à trouver la bonne expression régulière.

    Voici les lignes de codes que j'ai déjà essayées en vain :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    chaine = ">nom1";
    reg = new RegExp ("^>[a-z0-9]$");
    alert(reg.exec(chaine));
    Auriez-vous une idée?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var reg=/^>(\w+)/
    chaine=">nom1"
    matches=reg.exec(chaine)
    //on peut recupérer par les groupes de la regExp
    alert(RegExp.$1)
    //ou dans l'array retourné
    alert(matches[1]
    //ou en faisant un replace
    alert(chaine.replace(reg,'$1'))
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Par défaut
    Merci beaucoup à SpaceFrog pour son aide.

    Par contre, est-il possible de juste récupérer "nom1" (sans le caractère ">"?
    Car en fait, le résultat obtenu par le code qu'il m'a fourni donne comme retour ">nom1".

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    reg = new RegExp ("^>(\w+)");
    chaine=">nom1";
    matches=reg.exec(chaine);
    alert(chaine.replace(reg,'$1'));
    Si quelqu'un a la solution, je suis preneur.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    heu dans ce cas là tu fais soit un match soit un replace ...

    le replace doit te retourner uniquement nom1 sans le >

    sinon un simple substr fera l'affaire ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Par défaut
    En fait, le "replace" a déjà été utilisé pour trouver la chaîne : chaine.replace(reg,'$1');

    Je ne vois pas comment faire pour supprimer le ">" en utilisant à nouveau un chaine.replace
    (j'aurais peut-être dû spécifier que je ne suis pas très calé en JavaScript...).

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    c'est peut être plus clair comme ça ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    reg = new RegExp ("^>(\w+)");
    chaine=">nom1";
    result=chaine.replace(reg,'$1')
    alert(result);
    result contient juste nom1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. sql récupérer une chaîne de caractères dans un champ
    Par ritchie23 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/05/2009, 12h12
  2. comment récupérer une chaîne de caractères
    Par the_crow_man dans le forum C
    Réponses: 8
    Dernier message: 04/07/2008, 15h39
  3. [RegEx] Regex pour récupérer une chaîne de 6 chiffres
    Par calitom dans le forum Langage
    Réponses: 5
    Dernier message: 12/06/2008, 21h37
  4. Réponses: 3
    Dernier message: 27/05/2008, 20h05
  5. [OS Perso] Récupérer une chaîne de caractères
    Par log2n dans le forum Programmation d'OS
    Réponses: 31
    Dernier message: 14/02/2006, 13h56

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