2012-05-26 3 views
1

У меня есть длинная строка символов в качестве входных данных, и я хочу подсчитать количество слов в этой строке. Как я могу это сделать с помощью регулярного выражения?Регулярное выражение для нахождения слова

+0

Хотите ли фактическими вы слова, которые имеют смысл на каком-то языке или просто в строках, разделенных пробелами, вкладками, новыми строками и, возможно, другими разделителями? – toniedzwiedz

+0

'Я хочу подсчитать количество слов' ... эти слова имеют узор? – Rahul

+0

@Tom Слова могут быть или не иметь смысла. – user1509

ответ

2

Вы можете просто сделать это (если вы не заботитесь для чисел счета, а одиночные символы также как слова)

int CountOfWords = StringOf.Split(new char[] { ' ', '\n' }, 
           StringSplitOptions.RemoveEmptyEntries).Length; 

разделить его на массив, с из подсчета пустых записей, а затем получить, что длина. Вы также можете определить, что вы думаете, что отделяет ваши слова.

2

Вы можете сделать выражение \w+, и использовать регулярное выражение для перечисления матчей, как это:

var s = "Quick brown fox jumps over lazy dog"; 
foreach (var t in new Regex("\\w+").Matches(s)) { 
    Console.WriteLine(t); 
} 
1

вы можете рассчитывать количество слов в строке, используя следующий код

  str = "CSharp split test"; 
     char[] splitchar = { ' ' }; 
     strArr = str.Split(splitchar); 
     int Count = strArr.Length; 
Смежные вопросы