Exemples de code

Compter le nombre de mots dans une chaîne

Pour compter le nombre de mots contenus dans une chaîne de caractères, une phrase ou une ligne de texte, on utilise généralement la méthode string.Split. Cette méthode permet de découper une chaîne selon un ou plusieurs séparateurs et de stocker le résultat dans un tableau de chaînes.

string separateur = " "; // espace vide

string ligne = "Des hobbits de la Comté";

string[] tab = ligne.Split(separateur); // [Des] [hobbits] [de] [la] [Comté]

nbMots = tab.Length; // 5

Cela fonctionne très bien, sauf dans un cas bien précis, soit lorsque la chaîne est vide.

string ligne = ""; // ligne vide

string[] tab = ligne.Split(separateur); // []

nbMots = tab.Length; // 1

Heureusement, la solution est très simple et revient à s'assurer que la chaîne initiale n'est pas vide avant de compter les mots.

Programme complet :

static void Main(string[] args)
{
    string phrase;
    int nbMots;

    while (true)
    {
        Console.Write("Entrez une phrase : ");
        phrase = Console.ReadLine();

        // Trim() enlève les espaces blancs au début et à la fin
        if (phrase.Trim().Length > 0)
        {
            string[] tab = phrase.Split(" ");
            nbMots = tab.Length;
        }
        else
        {
            nbMots = 0;
        }
                
        Console.WriteLine("La phrase contient " + nbMots + " mots.");
    }
}