Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Word count


Автор: rucan 16.1.2008, 13:03
Подскажите пожалуйста. Как подсчитать слова в тексте. 
Может есть примеры?
У меня такой код 
Код

int countedWords = 0;

            if (stripTags == false)
            {
              countedWords = strText.Split(' ').Length;
            }
            else
            {
                Regex tagMatch = new Regex("<[^>]+>");
                strText = tagMatch.Replace(strText, "");
                countedWords = strText.Split(' ').Length;
            }
            return countedWords;

считает слова, веденные в TextBox, но считает за одно слово все слова если после них делать "Энтер" и считает за слова и пробелы больше 1.

Думаю такие задачи были уже решены, может кто встречался и подскажет ссылки на примеры рабочие?

Автор: farad 16.1.2008, 13:36
Код

            foreach (string s in strText.Split(new char[] { ' ', '\r', '\n' }))
            {
                if (s.Length == 0) continue;
                countedWords++;
            }

Автор: rucan 16.1.2008, 14:31
Громадное спасибо. Все великолепно работает!

Эх, а не подскажите как сделать "запретный список"?
Т.е. список слов, которые бы не считались.

Автор: 4ybaka 16.1.2008, 14:49
farad, еще пожалуй 
Код

{ ' ', '\r', '\n', ',' , '.' , ';' , '-' }

ну и может еще чего-нибудь

Цитата(rucan @  16.1.2008,  14:31 Найти цитируемый пост)
Эх, а не подскажите как сделать "запретный список"?

заносишь их все в List<string> list , а затем после if (s.Length == 0) continue; также проверяешь на наличие слова в списке list.Contains(s) ну и пропускаешь если есть

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)