Séparer un string dans un tableau [Résolu]

alexbesn 21 Messages postés jeudi 23 avril 2009Date d'inscription 4 août 2009 Dernière intervention - 27 avril 2009 à 11:39 - Dernière réponse : krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention
- 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 !
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 27 avril 2009 à 14:33
3
Merci
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

Merci krimog 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de krimog
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 27 avril 2009 à 12:20
0
Merci
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 ! -
Commenter la réponse de krimog
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscriptionModérateurStatut 20 juin 2013 Dernière intervention - 27 avril 2009 à 12:32
0
Merci
Bonjour,
Peut-être essayer avec
string[] s =
Regex.Split(
"my input",
@"\s+");

<hr />
-Blog-
-Site Perso-
Commenter la réponse de cs_Bidou
alexbesn 21 Messages postés jeudi 23 avril 2009Date d'inscription 4 août 2009 Dernière intervention - 27 avril 2009 à 14:06
0
Merci
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
Commenter la réponse de alexbesn
alexbesn 21 Messages postés jeudi 23 avril 2009Date d'inscription 4 août 2009 Dernière intervention - 27 avril 2009 à 14:27
0
Merci
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.
Commenter la réponse de alexbesn
alexbesn 21 Messages postés jeudi 23 avril 2009Date d'inscription 4 août 2009 Dernière intervention - 27 avril 2009 à 14:42
0
Merci
Super c'était ça ! Merci beaucou t'es un chef !
Commenter la réponse de alexbesn
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 27 avril 2009 à 14:53
0
Merci
De rien ;)

Bonne continuation

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Commenter la réponse de krimog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.