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 :

Exp regulière pour couper un chemin


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 89
    Par défaut Exp regulière pour couper un chemin
    Bonjour à tous,

    J'ai beaucoup de mal avec les expressions régulières

    Est-ce que quelqu'un pourrait m'aider pour réaliser une expression régulière qui couperai une chaîne de caractère d'un chemin de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /images/vacances/tunisie/
    en :
    ?

    Merci beaucoup!!

  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
    Tout depend de comment tu comptes recupérer le resultat

    en replace en match ou en exec ...

    en mach par exemple :

    si il y a toujours deux niveaux ...

    il va falloir un peu plus de precisions
    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é
    Profil pro
    Inscrit en
    Février 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 89
    Par défaut
    Euh... En fait j'aimerai exécuter l'expression régulière sur une variable contenant une chaine de type "/images/vacances/tunisie/" (sachant que le nombre de "/" n'est pas définie) et après exécution de l'expression régulière sur la variable cela me retournerai : "/images/vacances/", si je rééxecute ma fonction d'expression régulière : "/images/" etc

    Je n'ai jamais utilisé d'expression régulière en JavaScript et j'ai un peu de mal avec pour l'instant.

    Merci pour votre aide!

  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
    mieux vaut utiliser replace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function verif(chaine) {
       return chaine.replace(/(\w+\/)$/,'')
    }
     
    var chainecoupe1 = verif('images/perso/moi/');
    alert (chainecoupe1)
    chainecoupe2=verif(chainecoupe1)
    alert(chainecoupe2)
    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 expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 162
    Par défaut
    Une solution possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function coupe(chaine){
       var reg = new RegExp("^(.*)(\\/[^\\/]+\\/?)$", "i");
       return chaine.replace(reg, "$1");
    }
     
    var chainecoupe = coupe("/images/perso/moi/");
    alert(chainecoupe);
    chainecoupe = coupe(chainecoupe);
    alert(chainecoupe);
    Si tu veux extraire la "fin" de ton chemin, il suffit de changer l'indice $1 en $2...

    A+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 89
    Par défaut
    Merci beaucoup pour ton aide ! Cela marche parfaitement !

    Je l'ajoute à ma galerie d'expression régulière car même en utilisant des sites comme regexlib.com je n'arrive jamais a trouver pile ce qu'il me faut !

    Encore merci.

    Edit : Merci pour vos deux aides Je vais testé les 2 solutions.

  7. #7
    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
    sinon sans regexp avec un split et un pop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    chaine="images/perso/moi/plage/serviette"
    while(chaine.indexOf('/')>-1)
    {chaine=chaine.split('/')
    chaine.pop()
    chaine=chaine.join('/')
    alert(chaine)}
    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. Couper un chemin d'accès pour n'avoir que le nom du fichier
    Par Piernod dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/11/2009, 22h18
  2. probleme pour recuperer le chemin du dossier courant
    Par HoB dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/08/2007, 11h22
  3. [RegEx] Exp Regulière pour "ABCD1234567"
    Par silver.spike dans le forum Langage
    Réponses: 3
    Dernier message: 07/06/2007, 15h50
  4. Réponses: 1
    Dernier message: 20/09/2005, 16h55
  5. Réponses: 1
    Dernier message: 24/05/2005, 14h53

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