2012-05-26 168 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;