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

VB 6 et antérieur Discussion :

recherche dans texte


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut recherche dans texte
    Bonjour, j'ai un fichier txt que j'ouvre et que j'envoi dans une variable appelée texte

    J'aimerais maintenant trouver tte les mots situés entre "[" et "]".
    Comment faire?

  2. #2
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    il peut y avoir des imbrications ou non ????

  3. #3
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    En utilisant les fonctions de traitements de chaines de caractères: avec Instr(), tu peux repérer la position d'un caractère dans un chaine. Ensuite, tu as Left() et Right() qui te permettent de prendre les n premiers caractères d'une cahine à partir de la gauche ou de la droite.
    Par itération, tu dois pouvoir retrouver tes mots entre crochets.

  4. #4
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    en fait, avec InStr j'arrive a avoir les positions des caracteres de la 1ere fois ou il rencontre les "[" et "]" mais pas les autres et je ne connais pas la longueur des mots a l'interieur dc je n'arrive pas a les recup.

  5. #5
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    s'il n'y a pas d'imbrication, un code comme celui là marche très bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Dim MaChaine As String
        MaChaine = GetAFile("d:\user\jmarc\testvb\test.txt")
        MaChaine = Replace(MaChaine, "[", "|$")
        MaChaine = Replace(MaChaine, "]", "|")
        Dim tabSplit() As String
        tabSplit = Split(MaChaine, "|")
        Dim cmpt As Long
        For cmpt = LBound(tabSplit) To UBound(tabSplit)
            If Left(tabSplit(cmpt), 1) = "$" Then Me.List1.AddItem Mid(tabSplit(cmpt), 2)
        Next cmpt

  6. #6
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    C'est pour ça que je parlais d'itérations: tu commences par repérer le premier [, puis le premier ]. Tu récupères ce qui se trouve entre en commençant par jeter tout ce qui est à gauche du [ , puis en gardant ce qui est à gauche du ] .
    Tu as alors ton premier mot.
    Puis tu recommences...

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Et profites-en pour bien relire Instr dans l'aide en ligne :

    Sa syntaxe peut inclure un argument start.... à quoi peut-il bien servir et comment pourrais-tu l'utiliser ???

    Juste une question...

  8. #8
    Membre éclairé Avatar de malhivertman1
    Inscrit en
    Avril 2005
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 337
    Par défaut
    Merci bidou, c'est parfait

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Que celà ne t'empêche pas de méditer sur Instr, Mid, et le reste STP

    Pense à la petite balise "résolu"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro : recherche dans textes par cellule
    Par roidurif dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/11/2012, 21h39
  2. Recherche dans Text - bind key
    Par Spitfire 95 dans le forum Tkinter
    Réponses: 2
    Dernier message: 14/12/2010, 07h58
  3. Recherche FULL Text existe que dans MySql ?
    Par seb.49 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/06/2004, 22h30
  4. Recherche de texte dans un blob sous oracle
    Par Invité dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/05/2004, 11h11
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

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