A la recherche de la méthode perdue [Résolu]

Signaler
Messages postés
43
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
14 juin 2009
-
Messages postés
43
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
14 juin 2009
-
Bonsoir,

Je recherche une méthode en C# qui me permettrais, dans une chaîne de caractère, d'isoler l'ensemble de caractère comprit entre deux espaces. Est-ce que ca éxiste ? Et si oui laquelle est-ce ?

Mon problème étant que je veux pouvoir de façon automatique récuperer le deuxieme mot de ma  variable string. Exemple :

"1 tomate troué" >>> tomate

Voila, merci de votre aide future :)

Ps: Le substring ne marchera pas étant donné que la longueurs de tout ce qui suis le deuxième mot est totalement arbitraire et ne peux donc pas être gerer. La seul chose qui ne bouge pas c'est ce deuxième mot qui est entre deux espaces quoiqu'il arrive.

4 réponses

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Bonsoir,

Une petite fonction intéressante: String.Split(...) : http://msdn.microsoft.com/fr-fr/library/system.string.split(VS.80).aspx

Ce qui te donnera:
string str = "1 tomate troué";
string[] items = str.Split(new char[] { ' ' });
string result = items[1];
//Attention à gérer les exceptions !

Bonne soirée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Autre solution:

string str = "1   tomate        troué";
string[] res = Regex.Split(str, @"\s+");string sol res null && res.Length > 1 ? String.Empty : res[1];

Sûrement un peu plus lent, mais a l'avantage de gérer les espaces multiples...

<hr />
-Blog-
-Site Perso-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Bidou,

Dans le test de ton opérateur trinaire, ne serait-ce pas plutôt:string sol (res null || res.Length <= 1) ? String.Empty : res[1];
OU
string sol = (res != null && res.Length > 1) ? res[1] : String.Empty;

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
43
Date d'inscription
lundi 20 octobre 2008
Statut
Membre
Dernière intervention
14 juin 2009

Salut,


Merci ca marche, j'ai des cas particuliers à gérer encore mais j'ai réussis a faire fonctionner la méthode Split, je me disais que ct la solution mais j'ai pas le reflexe de regarder sur le site msdn :/


J'ai valider vos deux réponse mais Bidou je n'ai pas tester la tienne, mais comme Billou t'as juste reprit sur la syntaxe j'imagine que ta solution fonctionne aussi correctement ^^