Comment compter le nombre d'occurrences d'un caractère ou d'une sous-chaîne dans une chaîne en C#?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré une tâche qui semble simple, mais je n'arrive pas à trouver une solution élégante. Je dois compter combien de fois un caractère spécifique (par exemple, 'a') apparaît dans une chaîne. J'ai essayé d'écrire une boucle manuellement, mais cela semble lourd. Voici mon code actuel :
string text = "Hello, world! Hello, C#!";
char target = 'l';
int count = 0;
for (int i = 0; i < text.Length; i++)
{
if (text[i] == target)
count++;
}
Console.WriteLine(count); // Affiche 4
Cela fonctionne, mais je pense qu'il doit y avoir une solution intégrée en C#. De plus, je dois compter non seulement les caractères, mais aussi des sous-chaînes entières. Par exemple, combien de fois le mot "Hello" apparaît dans la chaîne "HelloHelloWorld". Si j'utilise la même approche avec une boucle, cela devient très compliqué pour les sous-chaînes — il faut vérifier la correspondance sur plusieurs indices.
Pouvez-vous me dire s'il existe des méthodes prêtes à l'emploi dans .NET pour compter les occurrences ? Peut-être quelque chose comme