Séparer un string dans un tableau

Résolu
alexbesn Messages postés 21 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 4 août 2009 - 27 avril 2009 à 11:39
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 27 avril 2009 à 14:53
Bonjour.

Je possède un string qui contient beaucoup d'informations (la conf d'un switch). Ces informations sont séparées chacune par un ou plusieurs espaces.

J'aimerai trouver un moyen pour qu'à chaque fois qu'il y ai un (ou plusieurs) espace(s)dans le string celui(ceux)-ci soit enlevé et qu'il n'y ait uniquement le texte de conservé.

En faisait string

[] tab = monstring.Split(
new
Char[] {
' ' });

cela me sépare bien tout dans le tableau mais ça conserve aussi les espaces !

Merci d'avance pour votre aide !

7 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
27 avril 2009 à 14:33
string[] separateurs = new string[]{" ", "\n", "\r"}; // enlève le caractère vide.
string[] resultat = macadrtable.Split(separateurs, StringSplitOptions.RemoveEmptyEntries); // Change l'option. Celle là est faite spécialement pour ton problème ;)

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -
- NON, "LE BAR" n'est
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
27 avril 2009 à 12:20
Salut

C'est très étonnant. Normalement, la méthode Split() ne conserve pas les caractères "splités". (et je viens de retester). Est-tu sûr que le caractère restant est bien le caractère "espace" ?

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
27 avril 2009 à 12:32
Bonjour,
Peut-être essayer avec
string[] s =
Regex.Split(
"my input",
@"\s+");

<hr />
-Blog-
-Site Perso-
0
alexbesn Messages postés 21 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 4 août 2009
27 avril 2009 à 14:06
Tu avais raison krimog, le caractère à éliminer n'est en fait pas le caractère espace, mais le caractère vide ("") ! Je m'en suis aperçu en regardant mon tableau en mode debug.

Le problème est que si je rajoute '' (deux simples quotes) il me sort une erreur à la compilation ("littéral de caractère vide"). Je ne sais pas trop ce que ça veut dire :s
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alexbesn Messages postés 21 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 4 août 2009
27 avril 2009 à 14:27
J'ai essayé une autre méthode :


string monstringaseparer;




string

[] separateurs =


new





string

[] {


""

,


" "

,


"\n"

,


"\r"

};





string

[] resultat;

resultat = macadrtable.Split(separateurs,
StringSplitOptions.None);

Du coup j'ai pu mettre le caractère vide dans les paramètres cette fois, pourtant ça ne fonctionne toujours pas ...

Si ça peut aider, la variable monstringaseparer est un string qui contient tout le résultat d'une commande envoyé en telnet.
0
alexbesn Messages postés 21 Date d'inscription jeudi 23 avril 2009 Statut Membre Dernière intervention 4 août 2009
27 avril 2009 à 14:42
Super c'était ça ! Merci beaucou t'es un chef !
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
27 avril 2009 à 14:53
De rien ;)

Bonne continuation

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
Rejoignez-nous