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.NET Discussion :

Decouper un texte en plusieurs parties [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut Decouper un texte en plusieurs parties
    Bonjour à tous !

    Je vous explique mon problème :

    J'ai un fichier texte dans lequel on retrouve une ou plusieurs parties similaires. Je m'explique :

    Chaque début de partie (d'un seul et unique fichier) commence par "Machine". J'aimerai mettre chaque partie dans un string sauf que j'ai quelques petits problèmes

    Voila le gros de ma procédure,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Using sr As New StreamReader("D:\Dossier\Fichier.txt")
     
    While Not (sr.EndOfStream)
     
    currentLine = sr.ReadLine()
    Et après je bloque. Si je met un "If currentLine.Contains("Machine")" puis "tableau(cpt) += currentLine", la condition ne sera vraie qu'une fois

    Avez-vous une idée pour découper un fichier en plusieurs parties commencant par "Machine" et les stocker dans un tableau de string ?

    Merci d'avance,

    Jah

  2. #2
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour.

    En utilisant la classe System.String, et la fonction IndexOf, vous pouvez trouver les positions successives que le mot "Machine" occupe dans votre texte.

    Cordialement.

  3. #3
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    Peux tu nous mettre un exemple de ton fichier texte

  4. #4
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Merci pour vos réponses !

    @Jean-Marie Grave : Merci, je vais essayer votre méthode !

    EDIT : Je comprend pas, le indexOf ne peut pas fonctionner. Je me déplace ligne par ligne, du coup si j'arrive sur ma ligne Machine, il sera déjà trop tard


    @hugoclo : Alors le fichier texte est du type :

    Machine : xxxxx

    xxxxDonnées sur environ 100 lignes xxxx


    Machine : xxxx
    etc

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    Et un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    dim aList as List(of String) = new List(of String)
    dim aBloc as String = ""
    While Not (sr.EndOfStream) 
      currentLine = sr.ReadLine()
      If currentLine.Contains("Machine") AndAlso not String.IsNullOrEmpty(aBloc)then 
        aList.add(aBloc)
        aBloc = ""
      End if
      aBloc += CurrentLine
    End While
    Bon je n'ai pas Visual Studio alors il y a peut-être une erreur mais en gros, ça doit fonctionner.

    eb.

  6. #6
    Membre confirmé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 154
    Par défaut
    Woua, merci ebastien !!

    Aucune erreur, ça fonctionne parfaitement !

    Tu peux m'expliquer l'utilité du : AndAlso not String.IsNullOrEmpty(aBloc) ?

    Merci à tous !

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

Discussions similaires

  1. [AppleScript] Decouper un texte en plusieurs morceaux et les afficher successivement
    Par Rico739 dans le forum AppleScript
    Réponses: 18
    Dernier message: 07/11/2014, 22h03
  2. Découpage d'un fichier texte en plusieurs parties
    Par adrien.forbat dans le forum Général Java
    Réponses: 5
    Dernier message: 31/08/2014, 13h03
  3. Affichage de texte en plusieurs partie dans la meme fenetre
    Par ClaudeHarvey dans le forum VBScript
    Réponses: 3
    Dernier message: 28/03/2007, 19h21
  4. Decoupé une fenêtre en plusieurs parties
    Par Premium dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 12/12/2006, 13h34
  5. Batchmove en plusieurs parties
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/05/2005, 14h43

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