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

Windows Forms Discussion :

[VB.NET][Expressions régulières] GroupCollection


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut [VB.NET][Expressions régulières] GroupCollection
    salut tout le monde .
    je traite des chaines de caractères que je lis dans un fichier texte et je les récupère pas ce code:
    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
    20
    21
    22
    23
     
     Dim str As String
     Dim ID As Integer
     
     Public Function Func(ByVal line As String) As String
     Dim r As New RegularExpressions.Regex("BO_[\s][0-9]+[A-Za-z]", RegularExpressions.RegexOptions.Compiled)
            Return r.Match(line).Groups(3).Value
        End Function
     
        Public Sub lecture(ByVal fichier As String)
            Do
                ligne = SR.ReadLine()
     
            Loop Until (str = ligne.IndexOf("BO_"))
            ID = Func(str)
     
            ''pos = ligne.IndexOf("BO_")
            'ID = ligne.Substring(3, str + 5)
     
            SR.Close()
            SW.WriteLine(ID)
            SW.Close()
        End Sub
    par contre ce code me genère une exception quand j'appelle la procédure lecture :

    Value cannot be null.
    Parameter name: input

    je crois que sa viens du paramètre que j'ai mis à l'instance Groups, et c'est pour cela j'aimerai savoir quesqu'on met comme paramètres dans cette instance.
    merci de votre aide !!

  2. #2
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    Salut :
    à quel niveau du code tu as cette exception !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    c'est bon j'ai plus d'exception j'aimerai juste savoir quesqu'on pass comme paramètreà match.Groups[]

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    en fait j'ai une ligne comme sa :

    BO_ 257 Trm_CMD

    et pour récupérer le nombre (257 dans ce cas ) jutilise la fonction func:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Function Func(ByVal line As String) As String
            Dim r As New RegularExpressions.Regex("BO_[\s][0-9]+[A-Za-z]", RegularExpressions.RegexOptions.Compiled)
            Return r.Match(line).Groups(2).Value
        End Function
    par contre quand je veux le récupérer et l'afficher je n'ai rien !

  5. #5
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    tu as une exception ou un messageBox vide ?
    précise SVP !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    je t'ai dis JE N'AI PLUS D'EXCEPTION, j'attends une solution pour ce que j'ai ecris en dernière réponse...

  7. #7
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    quelle formule de politesse !
    ca donne vraiment envie de vous aidez !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 137
    Points : 38
    Points
    38
    Par défaut
    merci ! quelqu'un pourrait m'aider SVP ?

  9. #9
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 60
    Points : 72
    Points
    72
    Par défaut
    en tout cas essaye ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Function Func(ByVal line As String) As String
            Dim r As New RegularExpressions.Regex("BO_[\s](?<code>[0-9]+)[A-Za-z]", RegularExpressions.RegexOptions.Compiled)
            Return r.Match(line).GroupsGroups["code"].Value;
        End Function
    si ca donne tjrs rien :
    - ou bien l'argument line n'est sous cette forme.
    - ou bien "BO_[\s](?<code>[0-9]+)[A-Za-z]" n'est pas la bonne regex.

Discussions similaires

  1. Expression régulière et .NET
    Par The eye dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/04/2009, 16h43
  2. [.NET] Expression régulière
    Par neptune dans le forum Framework .NET
    Réponses: 6
    Dernier message: 15/05/2007, 12h59
  3. [VB.net][vs2005] Problème avec les expressions régulières
    Par zouhib dans le forum Windows Forms
    Réponses: 13
    Dernier message: 22/06/2006, 15h56

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