Valeur Suivante Fichier Texte!!

[Résolu]
Signaler
Messages postés
4
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
8 décembre 2008
-
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
-
Bonjour,

J'ai deux problèmes :

1- J'ai réussi à récupérer une valeur d'un fichier texte entre deux mots, mais je suis incapable de récupérer les valeurs suivantes répondant aux mêmes critères. Plus précisement, j'ai plusieurs valeurs différentes qui se retrouvent toujours entre les deux mêmes mots:

mot avant valeur1 mot apres
mot avant valeur2 mot apres
mot avant valeur3 mot apres

2- Je voudrais classer ces valeurs dans un Array, mais je ne suis pas familier avec cette méthode.

Voici mon code :







Do



While
objReader.Peek() <> -1



Source = Source & objReader.ReadLine() & vbNewLine






 





'Détermination des bornes






stravant = "mot avant"




strapres = "mot apres"





'Récupération de la valeur entre les deux mots






If



InStr(1, Source, stravant) > 0 Then






If

InStr((InStr(1, Source, stravant)), Source, strapres) > 0 Then





If

Mid(Source, (InStr(1, Source, stravant) + Len(stravant)), InStr((InStr(1, Source, stravant) + Len(stravant)), Source, strapres) - (InStr(1, Source, stravant) + Len(stravant))) <> ""Then



Valeur(i) = Mid(Source, (InStr(1, Source, stravant) + Len(stravant)), InStr((InStr(1, Source, stravant) + Len(stravant)), Source, strapres) - (InStr(1, Source, stravant) + Len(stravant)))






End



If







End



If







End



If







Loop


Comment faire ? Merci beaucoup à l'avance !

Nitz999

7 réponses

Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut,

Voici une manière pour y arriver parmi tant d'autre :

1° Déclarer et initialiser une Collection juste après Public Class
----------------------------------------------------------------

Public Class Form 1
     Public valeurs As New System.Collections.Generic.List(Of String)()

End Class

2° Récupérer les valeurs et les stocker dans la collection :
---------------------------------------------------------------------------------------

Do While objReader.Peek() <> -1

      Source = objReader.ReadLine()

      ' Détermination des mots à supprimer

      stravant = "mot avant"

      strapres = "mot apres"

     ' Suppression des mots spécifiés

     Source = Source.Trim(stravant, strapres)

     ' Suppression éventuellement des espaces rencontrés

     Source = Source.Replace(" ", String.Empty)

     ' Ajout de la valeur récupérée dans la collection

     valeurs.Add(Source)
Loop

Pour parcourir toute la collection et récupérer toutes les valeurs entrées : (dans cette exemple : je les affiche avec un MsgBox)
------------------------------------------------------------------------------------------------------------------------------

For i As Integer = 0 To valeurs.Count - 1
     MsgBox(valeurs(i))
Next

++

Fauve
<hr size="2" width="100%" />Pensez : Réponse Acceptée 
Messages postés
109
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
2 février 2012
3
split
Messages postés
109
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
2 février 2012
3
oui, trim si tu connaît mot avant mot aprés.
Messages postés
4
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
8 décembre 2008

Non, en fait, je ne connais pas les mots avant et après, d'où la difficulté. Ca ressemble beaucoup plus a ca :


blabekiajfeafi valeur 1 maoifjefaeif


fsfdsklfjssfdf valeur 2 vdosjiosjffvd


fsdkldkslfmlds valeur 3 fldksfksdf

Quelqu'un a un idée ?

Merci pour toutes vos réponses, c'est apprécié !
Messages postés
4
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
8 décembre 2008

Ou ca en fait haha ! désolé...

dsfdsfdsf motavant valeur 1 motapres afndkjfnsdkfn
dsafdsfs mot avant valeur 2 mot apres ogjfdgjokjo
kijiuhihfds mot avant valeur 3 mot apres dskgfkj
Messages postés
109
Date d'inscription
dimanche 27 juillet 2008
Statut
Membre
Dernière intervention
2 février 2012
3
Le code de fauve a l'air trés bien pour ton pb.
Messages postés
661
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2011
8
Salut Nitz999,

A quoi correspond valeur 1, valeur 2, valeur 3 ? Est ce un nombre, une chaine de caractères, ... ?

<hr size="2" width="100%" />Pensez : Réponse Acceptée