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

POWER Discussion :

Extraire un texte basé sur un pattern / regex


Sujet :

POWER

  1. #1
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut Extraire un texte basé sur un pattern / regex
    Bonjour,

    je cherche une façon d'extraire un texte en me basant sur une expression régulière ([A-B][0-9]{3,6})
    Plus précisément, je souhaite extraire du texte d'une colonne la première occurrence des caractères A ou B majuscule suivi de 3 à 6 chiffres.
    Par exemple, la première occurrence de A234, B12354, B352187 etc.
    Existe-t-il une façon de faire cela dans power Query pour Excel est d'utiliser une expression régulière ?

    Merci de votre aide !
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  2. #2
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Bon, j'ai résolu le souci en utilisant une idée trouvée sur le web qui consiste à définir une fonction custom utilisant du code javascript et donc à bénéficier des fonctionnalités regex de javascript.
    Pour info dans mon cas ça ressemble à ceci :
    1- New Source >> Other Source >> blanc query
    2- Advanced editor pour créer la nouvelle fonction
    3- Invoke Custom function pour générer une nouvelle colonne utilisant cette nouvelle fonction

    A l'étape 2, dans "advanced editor" j'ai utilisé la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    let   fx=(input)=>
        Web.Page(
            "<script>
                var x='"&input&"'; // this is the input string for regex
                var b=x.match(/[A-B][0-9]{3,6}/m); // specify the desired regular expression inside string.match()
                                        //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match 
                document.write(b);
            </script>"){0}[Data]{0}[Children]{1}[Children]{0}[Text]
     
    in
    fx
    est on expression régulière.

    Source que j'ai utilisée.

    Ca fonctionne très bien et pour être sincère, j'ai découvert ici que l'on pouvais utiliser de cette façon javascript dans powerQuery.
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/01/2011, 21h21
  2. Réponses: 0
    Dernier message: 28/12/2010, 09h27
  3. Texte dans la marge DU BAS sur chaque page
    Par kwazikwantik dans le forum Mise en forme
    Réponses: 2
    Dernier message: 19/05/2008, 18h46
  4. texte positionné sur une image, en bas
    Par poupouille dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/02/2008, 21h03
  5. Extraire du texte en regex
    Par Emplyst dans le forum Langage
    Réponses: 6
    Dernier message: 19/07/2006, 15h11

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