Recherche d'une chaine dans une autre

olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 23 févr. 2008 à 21:56
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 24 févr. 2008 à 16:11
Bonjour

Je me perds a nouveau dans la doc de csharp que je trouve embrouillée

Je cherche la maniere simple de chercher si une chaine est contenue dans une autre chaine et accessoirement a quelle position

En C c'est tres simple :

char *fnd=strstr((char *)buffer,(char *)clef);

Si clef est trouvée dans buffer fnd donne le pointeur de la position dans buffer, sinon fnd est NULL;

Mais en csharp, impossible de trouver une explication claire sur une methode equivallente.
Quelqu'un aurait il la gentilesse de m'aider ?

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
23 févr. 2008 à 22:28
Salut,

La liste des méthodes de la classe String contient les méthodes Contains, IndexOf et LastIndexOf.

/*
coq
MVP Visual C#
CoqBlog
*/
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
23 févr. 2008 à 22:57
Salut !
Moouuais c'est sans doute indexof qui est le plus approprié

Mais je sais pas quelle moquette ils avaient fumés en pondant les exemples mais le moins qu'on puisse dire c'est qu'il y a quelques manoeuvre pour parquer l'info et qu'on a tout le temps d'y perdre la tete !

30 lignes de code pour tromper l'ennemi !!

(autre truc super enervant, c'est le tooltip jaune du GUI qui donne une information mais disparait toujours avant de poiuvoir la lire)

using System;

publicclass InsertTest
{
    publicstaticvoid Main()
 {
        string animal1 = "fox";
        string animal2 = "dog";

        string strTarget = String.Format("The {0} jumped over the {1}.", animal1, animal2);

        Console.WriteLine("The original string is:{0}{1}{0}", Environment.NewLine, strTarget);

        Console.Write("Please enter an adjective (or a group of adjectives) to describe the {0}: ==> ", animal1);
        string adj1 = Console.ReadLine();

        Console.Write("Please enter an adjective (or a group of adjectives) to describe the {0}: ==> ", animal2);   
        string adj2 = Console.ReadLine();

        adj1 = adj1.Trim() + " ";
        adj2 = adj2.Trim() + " ";

        strTarget = strTarget.Insert(strTarget.IndexOf(animal1), adj1);
        strTarget = strTarget.Insert(strTarget.IndexOf(animal2), adj2);

        Console.WriteLine("{0}The final string is:{0}{1}", Environment.NewLine, strTarget);
    }
}
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
24 févr. 2008 à 16:11
salut

Regarde l'exemple suivant
il est peut être plus parlant
http://msdn2.microsoft.com/en-us/library/system.string.indexof(VS.71).aspx
0
Rejoignez-nous