2012-05-26 4 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; 
관련 문제