Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mettre le contenu d'un ficher dans un tableau string[]

9 réponses
Avatar
Olivier
Bonjour,

Je cherche désespérement comment convertir une variable string qui contient du texte d'un fichier texte en variable tableau de
string avec comme séparateur le "\r\n"

Merci d'avance.

Olivier

9 réponses

Avatar
Francois Muller
Bonjour,

"Olivier" a écrit dans le message de news:
431ee84b$0$32473$

Je cherche désespérement comment convertir une variable string qui
contient du texte d'un fichier texte en variable tableau de string avec
comme séparateur le "rn"



Méthode "Split" sur la chaine initiale, te retourne un string []

F.
Avatar
nicolas franchet
Peut etre en utilisant LaString.Split("n");

Olivier a écrit :
Bonjour,

Je cherche désespérement comment convertir une variable string qui contient du texte d'un fichier texte en variable tableau de
string avec comme séparateur le "rn"

Merci d'avance.

Olivier




Avatar
Olivier
> Méthode "Split" sur la chaine initiale, te retourne un string []





Bonjour,

Bien voici le code que j'ai fait :

tableau = contenu.Split(new Char[] {'r', 'n'});

ca me transforme effectivement en tableau mais il me fait des lignes d'espacement en plus :

contenu du fichier

ligne1
ligne2
ligne3

resultat avec split :

ligne1

ligne2

ligne3


Tu aurais un exemple ? merci

Olivier
Avatar
Francois Muller
"Olivier" a écrit dans le message de news:
431eeadc$0$1139$
Bien voici le code que j'ai fait :

tableau = contenu.Split(new Char[] {'r', 'n'});

ca me transforme effectivement en tableau mais il me fait des lignes
d'espacement en plus :



Ben vi ;-))
Le split traite les "'r', 'n'" mais ne les suprime pas. Traiter le tableau
aprés coup.

tableau = contenu.Split(new Char[] {'r', 'n'});
for(i= 0; i < tableau.GetUpperBound(0); ++i)
{
tableau[i].TrimEnd (new Char[] {'r', 'n'});
}

devrait marcher, non ?

F.
Avatar
Fabien Bezagu
Normal, le newline est composé d'un r ET d'un n. La méthode Split telle
que tu l'utilises prend l'un ou l'autre donc coupe trop. La solution, c'est
plutôt quelque chose comme ça :

tableau = contenu.Split(new String[] {Environment.NewLine});

Fabien


"Olivier" a écrit dans le message de news:
431eeadc$0$1139$

Méthode "Split" sur la chaine initiale, te retourne un string []





Bonjour,

Bien voici le code que j'ai fait :

tableau = contenu.Split(new Char[] {'r', 'n'});

ca me transforme effectivement en tableau mais il me fait des lignes
d'espacement en plus :

contenu du fichier

ligne1
ligne2
ligne3

resultat avec split :

ligne1

ligne2

ligne3


Tu aurais un exemple ? merci

Olivier



Avatar
Olivier
:

Ben vi ;-))
Le split traite les "'r', 'n'" mais ne les suprime pas. Traiter le tableau aprés coup.

tableau = contenu.Split(new Char[] {'r', 'n'});
for(i= 0; i < tableau.GetUpperBound(0); ++i)
{
tableau[i].TrimEnd (new Char[] {'r', 'n'});
}

devrait marcher, non ?




nop ca ne marche pas : mais bon si tu me dit que c'est normal pour split et qu'il faut traiter ensuite je vais chercher un peu
merci

Olivier
Avatar
Francois Muller
"Olivier" a écrit dans le message de news:
431eeda0$0$3326$

nop ca ne marche pas : mais bon si tu me dit que c'est normal pour split
et qu'il faut traiter ensuite je vais chercher un peu
merci



J'ai annulé mon message, car je crois que j'ai écris une connerie ;-))

Fais un essai avec un separateur plus "visible" et tu verras

F.
Avatar
nicolas franchet
Le Environnement.Newline n'est valable que si le retour a la ligne du
fichier est le meme que celui de l'environnement.

Je ferais plutot qqchose comme ca :
String[] lesLignes=contenu.split("n");
for (int i=0; i<lesLignes.length;i++) {
lesLignes[i]=lesLignes[i].replace("r","");
}
Ou peut-etre meme faire le replace directement sur le contenu.

Fabien Bezagu a écrit :
Normal, le newline est composé d'un r ET d'un n. La méthode Split telle
que tu l'utilises prend l'un ou l'autre donc coupe trop. La solution, c'est
plutôt quelque chose comme ça :

tableau = contenu.Split(new String[] {Environment.NewLine});

Fabien


"Olivier" a écrit dans le message de news:
431eeadc$0$1139$

Méthode "Split" sur la chaine initiale, te retourne un string []





Bonjour,

Bien voici le code que j'ai fait :

tableau = contenu.Split(new Char[] {'r', 'n'});

ca me transforme effectivement en tableau mais il me fait des lignes
d'espacement en plus :

contenu du fichier

ligne1
ligne2
ligne3

resultat avec split :

ligne1

ligne2

ligne3


Tu aurais un exemple ? merci

Olivier








Avatar
Olivier
"nicolas franchet" a écrit dans le message de news: dfmrnh$ep3$
Le Environnement.Newline n'est valable que si le retour a la ligne du fichier est le meme que celui de l'environnement.

Je ferais plutot qqchose comme ca :
String[] lesLignes=contenu.split("n");
for (int i=0; i<lesLignes.length;i++) {
lesLignes[i]=lesLignes[i].replace("r","");
}
Ou peut-etre meme faire le replace directement sur le contenu.




Cette méthode foonctionne chez moi :

tableau = contenu.Split(new char[] {'n'});
for (int i = 0; i < tableau.Length; i++)
{
tableau[i] = tableau[i].Replace("r", "");
}

Merci pour vos réponses

Olivier