C# Replace

Signaler
Messages postés
20
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2009
-
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
-
Bonjour à tous,

Je suis en train d'essayer de lire des données dans un fichier texte, de modifier leur formalisme et de les réécrire ensuite dans un autre fichier texte.
Ces trois phases fonctionnent à merveille... à une petite exception près.

A l'origine, chaque ligne du fichier d'origine contient des données comme celles-ci :

DataA\tDataB\tDataC\tDataD\t\n

En gros, chaque ligne contient des données séparées par des tabulations, et se terminant par une tabulation suivie d'un retour à la ligne.
Ce que je souhaite faire, c'est transformer toutes les tabulations en virgules (j'ai utilisé la méthode Replace, et ça marche impec), et ensuite, de transformer les deux derniers caractères (donc, une virgule suivie d'un retour à la ligne) par un simple retour à la ligne. Au final, je dois avoir ça :

DataA,DataB,DataC,DataD\n

J'ai donc utilisé le code suivant, qui modifie la ligne et que j'appelle à chaque lecture de ligne (ici, la variable "line" désigne la ligne que je lis) :
string splitLine = line.Replace("\t", ",");
splitLine = splitLine.Replace(",\n","\n");

Or, si le premier Replace fonctionne, j'ai l'impression que le deuxième déconne : à la fin de chaque ligne, je me retrouve toujours avec la virgule suivie du retour à la ligne :

DataA,DataB,DataC,DataD,\n

Quelqu'un aurait une solution, par hasard ? Merci d'avance.

1 réponse

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
65
Hello,

Juste une question,

Comment lis-tu les lignes de ton fichier ?

Si tu utilises un StreamReader, et que tu fais un readline, les \n ne sont pas dans la ligne.
De plus, si ton fichier provient d'un programme windows, tu devrais avoir "\r\n" à la fin de ta ligne, et pas seulement "\n"

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)