Extraire une chaine d'un fichier texte [Résolu]

Signaler
Messages postés
6
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
10 août 2009
-
Messages postés
6
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
10 août 2009
-
Bonjour,

J'ai un fichier texte sous la forme suivante :
=================
exp1 | exp2 | exp3
exp4 | exp5 | exp6
exp7 | exp8 | exp9
.....
=================

J'ai besoin de le stocker dans un tableau à deux dimensions. J'ai essayé le code suivant mais ça me renvoie des erreurs tout le temps :

=================
Sub LoadFactor(ByVal fichier As String)
        Dim FactorLoader As New StreamReader(fichier) 'Stream pour la lecture
        Dim Line, Word As String ' Variable contenant le texte de la ligne
        Dim unites(i, j)
        i = 0
        j = 1
        Word = ""
        Do
            i = i + 1
            Line = FactorLoader.ReadLine
            If FactorLoader.Peek >= 0 Then
                MsgBox(Line)
                For Me.k = 1 To Line.Length
                    If Mid(Line, k, 1) <> "|" And FactorLoader.Peek >= 0 Then
                        Word = Word + Mid(Line, k, 1)
                    Else
                        unites(i, j) = Word
                        Word = ""
                        j = j + 1
                    End If
                    If j > 3 Then
                        Exit For
                    End If
                Next
            End If
            MsgBox(unites(1, 1))
        Loop Until Line Is Nothing
        FactorLoader.Close()
    End Sub
=================

L'utilisation directe de la fonction (Mid) n'est pas possible car la longueur des expressions n'est pas constante.

Merci d'avance,

3 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Tu t'embetes avec des traitements inutiles.

Utilises la focntion split

dim row as string () = line.split("|")

et la tu auras un tableau directement

foreach  s as String  in row
MessageBox.Show(s)
next

Voila
Messages postés
6
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
10 août 2009

Merci !!!

C'est parce que je suis encore débutant, je connais même pas cette fonction, merci !! C'est très utile !
Messages postés
6
Date d'inscription
vendredi 5 mars 2004
Statut
Membre
Dernière intervention
10 août 2009

Un petit autre sousis :p

Comment inscrire plusieurs 'row' dans un autre tableau à 2 dimensions(i, j)

Merci !