Extractions de chaînes variables

Extractions de chaînes variables - VB/VBA/VBS - Programmation

Marsh Posté le 07-06-2006 à 17:59:44    

slt les codeurs !
je suis entrain de faire une petite application en VB6 qui parcourt ligne par ligne et qui extrait des données des fichiers .txt pour les renvoyer dans le format csv. par contre je bloque sur l'extraction d'une chaîne qui est variable....j'aimerais pouvoir récupérer les infos qui sont en gras et qui restent toujours sur la même ligne. auriez-vous une idée de la fonction qui pourrait faire cette extraction spécifique ? merci pour toute aide de votre part :)  
 
 
il y a au minimum 1 slash et au maximum x slashes
 
ex. fichier 1
ceci n'est qu'un test aa/0005/D09
 
ex. fichier 2
ceci b/a12/750/ccc n'est pas un test
 
ex. fichier 3
ceci n'est pas officiel DR/23
 
 

Reply

Marsh Posté le 07-06-2006 à 17:59:44   

Reply

Marsh Posté le 07-06-2006 à 18:08:47    

ça va etre dur d'extraire quoi que ce soit si la chaine ne respecte pas un format minimum

Reply

Marsh Posté le 07-06-2006 à 18:12:01    

d'où mon gros soucis :(

Reply

Marsh Posté le 07-06-2006 à 18:20:42    

et si je fais une recherche d'un slash sachant que je connais la ligne où il y a les slashes ?? mais je ne sais toujours pas comment tout prendre :??:

Reply

Marsh Posté le 07-06-2006 à 18:24:25    

bah après tu utilises une expression régulière

Reply

Marsh Posté le 07-06-2006 à 18:47:35    

A adapter, cela restera tout de même de la bidouillerie  
entre autre si cette chaine n'est pas encadrée par un espace
 


private Sub Test()
Dim ar() As String
Dim j As Integer, Taille As Integer
Dim Pos As Integer
Const Chaine1 As String = "ceci n 'est qu'un test aa/0005/D09"
Const Chaine2 As String = "ceci b/a12/750/ccc n'est pas un test"
Const Chaine3 As String = "ceci n 'est pas officiel DR/23"
 
    ar = Split(Chaine2, " " )
    Taille = UBound(ar())
    For j = 0 To Taille
        Pos = InStr(ar(j), "/" )
        If Pos > 0 Then Debug.Print ar(j)
    Next
end sub


Message édité par kiki29 le 07-06-2006 à 19:54:18
Reply

Marsh Posté le 08-06-2006 à 10:07:29    

je vais essayer d'adapter ta function. merci :)

Reply

Marsh Posté le 08-06-2006 à 10:25:35    

Les expressions régulières sont la meilleure solution à mon avis. Mais cela demande un peu de logique et de patience.

Reply

Marsh Posté le 09-06-2006 à 13:21:19    

> Fornium ( si intéressé) voir http://www.vbcity.com/pubs/article.asp?alias=regexp


Message édité par kiki29 le 09-06-2006 à 13:22:23
Reply

Marsh Posté le 12-06-2006 à 11:46:11    

merci pour le lien :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed