CODEKILLER

반응형

> 문자열에서 단어 횟수를 세는 방법(LINQ)

    How to count occurrences of a word in a string (LINQ)

문자열에서 단어 횟수 세는법
문자열에서 단어 횟수 세는 법

public class Example
{
    public static void Main()
    {
        Console.Write("<< 문자열에서 특정 단어 횟수세는 방법 >> \n");

        string text = @"Prism is specifically formatted for the analyses you want to run, " +
            @"including analysis of quantitative and categorical data." +
            @"This makes it easier to enter data correctly," +
            @"choose suitable analyses, and create stunning graphs.";

        string searchStr = "data";

        // Split를 이용하여 스트링을 배열로 변환.
        string[] source = text.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' }, StringSplitOptions.RemoveEmptyEntries);

        // 단어와 매칭되는 단어를 찿는 쿼리.
        var matchQuery = from word in source
                         where word.Equals(searchStr, StringComparison.InvariantCultureIgnoreCase)
                         select word;

        // 매치되는 Count 세기.
        int wordCount = matchQuery.Count();
        Console.WriteLine("\"{1}\" 이 {0} 회 검출됨", wordCount, searchStr);


        Console.WriteLine(System.Environment.NewLine);
        Console.WriteLine("Press any key to exit");
        Console.ReadKey();
    }
}

> 문자열을 Split를 이용하여 세분화한 단어의 배열로 변환

string[] source = text.Split(new char[] { '.', '?', '!', ' ', ';', ':', ',' },
				StringSplitOptions.RemoveEmptyEntries);

> 단어의 배열을 Linq를 이용하여 찿으려는 단어를 추출

var matchQuery = from word in source
                 where word.Equals(searchStr, StringComparison.InvariantCultureIgnoreCase)
                 select word;

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band