Member 13040116 Ответов: 3

Функция, которая будет возвращать максимальное количество слов в предложении.


Данный текст можно разделить на предложения, разделив его на точки, вопросительные и восклицательные знаки. Например, учитывая S= " самые влажные кодеры. Дайте нам попробовать?", функция должна вернуть 4.

Что я уже пробовал:

я могу найти количество слов из всего файла

protected void Button1_Click(object sender, EventArgs e)
        {
            string s = TextBox1.Text;
            
            Label1.Text = GetNoOfWords(s).ToString();
            
        }

        public int GetNoOfWords(string s)
        {
            return s.Split(new char[] {' ',',','.','?','!'}, StringSplitOptions.RemoveEmptyEntries).Length;
            
        }

3 Ответов

Рейтинг:
2

Karthik_Mahalingam

с помощью В LINQ[^]

string s = "Wetest coders. Give us a try?";
          var items = s.Split(new char[] { '.', '?', '!' }, StringSplitOptions.RemoveEmptyEntries);
         int count =  items.Select(k=>k.Trim()).Max(k => k.Split(' ').Length); // 4


Рейтинг:
1

Peter Leow

Если вы пытаетесь исключить пунктуацию и стоп-слова, проверьте это:[^]


Рейтинг:
0

Patrice T

Вам нужно работать с процессом в 2 этапа:
1) вы разбиваете текст на предложения.
2) вы считаете слова в каждом предложении и сохраняете максимальный результат.