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

C# Discussion :

regex : recup de valeur dans une string


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Par défaut regex : recup de valeur dans une string
    Bonjour,

    je galere..comme d'hab..
    j'ai une string, je connais l'extention et je veux recup le nom du fichier exemple ci dessous

    je connais l'extension : LNK ou lnk
    je veux recup : LOTUSS~1.LNK

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    VALUE ~ :   $C?y  LOTUSS~1.LNK  b ♦ ?p??↓p??↓*   ☺?☺   ☺               L o t u s
       S a m e t i m e   C o n n e c t . l n k   ∟
    je connais l'extension : exe ou EXE
    je veux recup : Tcpview.exe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ¶ ▼P?O? ?:i►? +00?↓ /D:\                   ^ 2         ? Tcpview.exe D ♦ ?
           *                         T c p v i e w . e x e   →
    j'arrive plus au moins au resultat mais avec des substring et lastindexof Mais c'est degueulace..est il possible de le faire regex ?

    si quelqu'un a une idée merci !!

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Oui tu peux faire un regex tu cherches qulquechose qui finit par .lnk mais comment sais-tu quand ce que tu veux extraire commence?

  3. #3
    Membre chevronné Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Par défaut
    C'est le caractère "~" qui est pénible
    Pour Tcpview.exe, çà çà devrait fonctionner (\w+.exe)
    Et pour l'autre (\w+~\w+.LNK)
    Mais si le "~" est à un autre endroit ca ne fonctionne plus

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Par défaut
    justement je ne sais pas quand commence ce que je veux extraire..il semblerait que dans 90% des cas c'est un espace vide ?

    oue le "~" peut etre penible mais du coup je peux peut etre faire une condition ?
    qui check sans le ~ et si pas de resultat check avec le ~

    merci

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    En l'état de la discussion, voir si une recherche de ce genre peut convenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
                string pattern = @"\b[^ ]+\.LNK\b";
     
                // Initialisation de la Regex avec option ignorant la casse (accepte EXE, exe etc...)
                Regex r = new Regex(pattern,RegexOptions.IgnoreCase);
     
                // On récupère la première correspondance qui matche le pattern.
                Match m = r.Match(input);
                Console.WriteLine(m.Value);
     
                //SI IL Y A PLUSIEURS OCCURRENCES A RÉCUPÉRER :
                // On récupère les groupes qui matchent le pattern
                var matches = r.Matches(input);
     
                // On boucle sur la collection des occurrences.
                foreach (Match match in matches)
                {
                    Console.WriteLine(match + Environment.NewLine);
                }
    input étant la chaine à explorer.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 88
    Par défaut
    Chrimonoye ta solution me donne

    i►? +00?↓ /D:\ ^ 2 ? Tcpview.exe
    la solution de Jabbal'H (\w+.exe)

    fonctionne !

    Merci !!!!

Discussions similaires

  1. Récuperer une valeur dans une String
    Par Remedy dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2011, 11h34
  2. Remplacer des balises par des valeurs dans une String
    Par RadicalBob dans le forum Langage
    Réponses: 4
    Dernier message: 26/04/2007, 15h22
  3. forçage d'une valeur dans un string
    Par HRS dans le forum Langage
    Réponses: 3
    Dernier message: 03/08/2006, 15h56
  4. [VB.NET]SourceGrid et affectation de valeurs dans une String
    Par Bourbaky dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/03/2006, 20h41
  5. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55

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