Recherche de chaine dans un textbox. [Résolu]

Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
30 mai 2008
- 29 avril 2008 à 07:59 - Dernière réponse :
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
30 mai 2008
- 29 avril 2008 à 10:16
Bonjour,

Je n'arrive plus a remettre la main (enfin c'est dans ma mémoire) sur la commande qui permet de rechercher une chaine dans une chaine .
Dans le cas présent, je dois rechercher une chaine dans un objet textbox.

Il me semble que c'est un truc du genre :" result = findstring(chainerechercher, chainetotale, 1 )"
ce qui donnerais avec mon textbox: "result = findstring(chainerechercher, textbox1.text, 1 )"

Avec result retournant le nombre de fois ou l'occurence a été trouvé dans chainetotale.
Mais il me semble que cette ligne est une ligne de C++.

Quelqu'un aurait l'équivalent pour le C# ?
Merci
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
- 29 avril 2008 à 08:26
3
Merci
Bonjour,

Effectivement (du moins à ma connaissance ^^), il n'existe pas de fonction pour chercher le nombre d'occurences de sous-chaine dans une chaine.
Cependant, tu peux :
1) Utiliser la fonction string.IndexOf(...):

int occ = 0;
string str = "totototo";
string inStr = "to";

int lastIndex = str.IndexOf(inStr, 0);
while (lastIndex != -1)
{
occ++;
lastIndex = str.IndexOf(inStr, lastIndex + 1);
}

2) Ou tout simplement, utiliser les expressions régulières pour compter.
string str = "totototo";
Regex reg = new Regex("to", RegexOptions.None);//using System.Text.RegularExpressions

int occ = reg.Matches(str).Count;


Voila,

Bonne journée,


Billou_13

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de billou_13
Meilleure réponse
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
- 29 avril 2008 à 09:18
3
Merci
Ah bon, faut le dire alors ^^

Tu as string.Contains(string) qui te renvoie un booléen pour cela.

Bonne journée,


Billou_13

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de billou_13
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 29 avril 2008 à 08:23
0
Merci
Salut,
Tu peux utiliser la méthode SubString de la class String, ou alors les expressions régulières avec la class Regex.

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
30 mai 2008
- 29 avril 2008 à 09:02
0
Merci
Ok, merci.

Je vias tester la fonction Regex, en fait je ne veux pas compter le nombre d'occurence, je veux simplement savoir si la chaine est présente dans l'autre.
Commenter la réponse de ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
30 mai 2008
- 29 avril 2008 à 10:16
0
Merci
ha, ben nikel, je vais ptetre prendre plutot ça alors, plus simple a mon gout,

sinon je viens de le faire avec l'autre méthode:

int indexchaine = TbIsoRigParRapAutrGach.Text.IndexOf(
"ctc" + i);

if (indexchaine < 0)
{
TbIsoRigParRapAutrGach.Text += ligneajout;
//Ajout de la ligne
}
i++;

Merci de votre aide !!!
Commenter la réponse de ggrug26

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.