[V.B 2010 Express]Sauter ligne avant chaîne

Fermé
pilotepro Messages postés 88 Date d'inscription vendredi 18 juillet 2008 Statut Membre Dernière intervention 25 août 2012 - Modifié par pilotepro le 8/08/2012 à 13:25
Bonjour,
J'ai un fichier texte que je souhaite réorganiser proprement et qui contient plusieurs paragraphes différents, sachant qu'en fonction des utilisateurs les différents paragraphes présentes ou non des saut à la lignes entre eux. Or, j'ai besoin que tout les paragraphes soient séparer par des sauts à la ligne. Donc, la première chose que je fait c'est d'enlever tout les sauts à la ligne du texte puis ce que je cherche à faire maintenant c'est rajouter des sauts à la ligne avant chaque paragraphe commençant par [Area.X], où X prend la valeur de chaque paragraphe (ex : 1er paragraphe - [Area.001] - 270ème paragraphe - [Area.270] et ainsi de suite). Pour ne pas m'embêter à réécrire la valeur X à chaque paragraphe, j'ai contourner le problème en spécifiant que la ligne commence par "[Area." et qu'elle fini "]" et sa fonctionne très bien.

Voici donc mon code actuel (Visual Basic 2010 Express) :

        LignesFichierConfigurationAddon = System.IO.File.ReadAllLines("C:\Users\Maison\Desktop\test.cfg")  

            My.Computer.FileSystem.WriteAllText("C:\Users\Maison\Desktop\test.cfg", System.String.Empty, False)  

            For Each Ligne As String In LignesFichierConfigurationAddon  

                If Ligne.Length > 1 Then  
                    My.Computer.FileSystem.WriteAllText("C:\Users\Maison\Desktop\test.cfg", Ligne & vbNewLine, True)  
                End If  

                If Ligne.StartsWith("Clean_on_Exit=") Then  
                    My.Computer.FileSystem.WriteAllText("C:\Users\Maison\Desktop\test.cfg", vbNewLine, True)  
                End If  

            If Ligne.StartsWith("[Area.") And Ligne.EndsWith("]") Then  
                My.Computer.FileSystem.WriteAllText("C:\Users\Maison\Desktop\test.cfg", vbNewLine, True)  
            End If  
            Next  

Le code fait exactement ce que je souhaite à une exception près, il ajoute le saut de ligne après [Area.X] or ce que je souhaite c'est l'ajouter avant cette ligne et non après. Il y a autre chose que je n'arrive pas à régler c'est enlever les sauts de lignes si ils en existe à la fin du texte, en gros lui dire s'il le texte finit par un saut de ligne alors le supprimer, de manière à ce que la dernière ligne soit du texte et non un saut de ligne.

Merci d'avance de votre aide

Cordialement