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 :

[vb.net]Modifier une ligne d'un fichier texte


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 49
    Points
    49
    Par défaut [vb.net]Modifier une ligne d'un fichier texte
    Bonjour à tous.

    J'ai un fichier texte sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    aaaaaaaaaaaaaaaaa_ligne1
    aaaaaaaaaaaaaaaaa_ligne2
    aaaaaaaaaaaaaaaaa_ligne3
    etc...
    Je souhaiterai tout simplement supprimer une ligne de mon choix (suppr ligne where texte like '%ligne2' en gros).

    J'ai fouillé un peu partout mais rien trouvé qui ne corresponde vraiment à mon besoin, à priori simple.

    Merci d'avance pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Il faut lire tout le fichier en mémoire, et le réécrire sans la ligne que tu veux supprimer. Un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim lines() As String = File.ReadAllLines(le_chemin_du_fichier)
    Dim writer As New StreamWriter(le_chemin_du_fichier)
    For Each line As String In lines
        If Not line.Contains("ligne2") Then
            writer.WriteLine(line)
        End If
    Next
    writer.Close

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup ! Je vais tester ça de ce pas et je te tiens au courant

    En tout cas ça ressemble étroitement à ce que je souhaite.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup le code fonctionne très bien tel quel !

    J'aurai juste une demande supplémentaire si tu as quelques minutes s'il te plait. J'ai une contrainte qui fait que dans l'exemple ci-dessus, le mot recherché "ligne2" peut être en majuscule ou en minuscule dans le fichier texte.

    Je souhaiterai donc lire le fichier en passant tous les caractères en majuscule avant de faire la recherche pour savoir quelle ligne supprimer.

    Je sais comment passer une chaine de caractère en majuscule, mais le faire en même temps que l'ouverture d'un fichier texte sur lequel on boucle ligne par ligne :-/

    Merci encore

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    il suffit que tu appelles la méthode ToUpper sur la ligne en cours de traitement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    If Not line.ToUpper().Contains("LIGNE2") Then
    ...

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Merci encore ça marche parfaitement !

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

Discussions similaires

  1. Modifier une ligne d'un fichier texte
    Par itachis dans le forum Langage
    Réponses: 13
    Dernier message: 09/06/2014, 21h03
  2. Modifier une ligne dans un fichier text
    Par takizem dans le forum Programmation système
    Réponses: 0
    Dernier message: 07/10/2013, 19h29
  3. modifier une ligne dans un fichier texte
    Par junkie1986 dans le forum Tcl/Tk
    Réponses: 6
    Dernier message: 09/04/2013, 15h17
  4. Modifier une ligne d'un fichier texte?
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/05/2007, 18h51
  5. Modifier une ligne d'un fichier texte
    Par lauben dans le forum C
    Réponses: 2
    Dernier message: 27/05/2006, 12h45

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