cybers7119
Messages postés20Date d'inscriptionlundi 16 juin 2008StatutMembreDernière intervention19 janvier 2009
-
19 janv. 2009 à 23:53
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 2010
-
20 janv. 2009 à 07:47
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.
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 20 janv. 2009 à 07:47
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)