Определить, сколько слов в строке разделяются более чем одним пробелом

count=1;
for(int i = 0; i<s.Length-1;i++)
            {
                if (s[0] == ' ' && s[1] == ' ') continue;
                if (s[i] == ' ' && s[i + 1] == ' '&&s[i+2]!=' ') count++;
            }

Вот как бы работает.

Но если ввести строку таким образом(цифры в кавычках - пробелы): слово’2’слово’4’слово’3’слово’1’слово’10’слово

То оно считает неправильно.


Ответы (1 шт):

Автор решения: Blackmeser
for (int i = 2; i < s.Trim().Length; i++)
{ 
    if (s[i]==' '&& s[i-1] == ' '&&s[i-2]!=' ')
    {
        count++;
        while (s[i] == ' ' && (i + 1) < s.Trim().Length && s[i + 1] != ' ') i++;
    }
}
→ Ссылка