데이터의 반복은 콘텐츠의 가치를 떨어뜨릴 수 있습니다. 작가로 일할 때 DRY(반복하지 말 것) 원칙을 따라야 합니다. 단어 수 또는 각 단어의 발생 횟수와 같은 통계를 통해 내용을 분석할 수 있지만 여러 문서에 대해 수동으로 수행하기 어렵습니다. 따라서 이 기사에서는 C#을 사용하여 PDF, Word, Excel, PowerPoint, eBook, Markup 및 이메일 문서 형식에서 프로그래밍 방식으로 단어 수와 각 단어의 단어 발생 수를 계산하는 방법을 보여줍니다.

단어 및 발생 횟수를 계산하는 .NET API

GroupDocs.Parser는 개발자를 위한 문서 파싱 솔루션을 제공합니다. 문서에서 텍스트를 추출하고 발생 횟수를 계산하기 위해 GroupDocs.Parser for .NET를 사용합니다. API를 사용하면 워드 프로세서 문서, 프레젠테이션, 스프레드시트, 이메일, 데이터베이스, eBook 및 기타 여러 형식과 같은 지원되는 문서 형식의 긴 목록에서 이미지 및 메타데이터를 추출할 수 있습니다.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 해당 패키지를 .NET 애플리케이션에 추가하여 API를 설치할 수 있습니다.

PM> Install-Package GroupDocs.Parser

C#을 사용하여 단어 수 세기

단어 수를 세는 데 가장 중요한 것은 문서의 전체 내용을 구문 분석하고 추출하는 것입니다. 텍스트를 추출한 후 내용을 문장과 단어 모음으로 나눌 수 있습니다. 다음 단계에서는 C#을 사용하여 문서 내의 단어를 계산할 수 있습니다.

  • Parser 클래스를 사용하여 문서를 로드합니다.
  • 불러온 문서의 텍스트를 TextReader로 불러옵니다.
  • Get TextReader의 문서 텍스트를 문자열로.
  • 텍스트를 단어로 분할하고 문자열 배열로 저장합니다.
  • 단어 수를 계산합니다.

다음 C# 소스 코드는 문서의 단어 수를 계산합니다.

// C#을 사용하여 PDF 문서의 단어 수 계산
using (Parser parser = new Parser("path/document.pdf"))
{                
	// 판독기로 텍스트 추출
	using (TextReader reader = parser.GetText())
	{
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// 단어를 나누다
		string[] words = text.Split(chars);
		// 총 단어 수 인쇄
		Console.WriteLine("Total word count: {0}", stats.Count);
	}
}

C#에서 단어 발생 횟수 계산

마찬가지로 문서에서 특정 단어나 구가 사용된 횟수를 셀 수 있습니다. 이 기능을 사용하면 기사 내에서 단어의 과도한 반복을 피할 수 있습니다. 다음 단계는 문서에 사용된 각 단어의 발생 횟수를 계산합니다.

  • Parser 클래스를 사용하여 문서를 로드합니다.
  • 불러온 문서의 텍스트를 TextReader로 불러옵니다.
  • 전체 텍스트를 읽고 단어 모음으로 나눕니다.
  • 단어 수집을 탐색하여 단어를 계산합니다.

다음 C# 코드 조각은 문서 내에서 고유한 각 단어의 발생을 계산합니다.

// C#을 사용하여 PDF 문서에서 고유한 단어 및 해당 발생 횟수 계산
using (Parser parser = new Parser("path/document.pdf"))
{                
	// TextReader로 텍스트 추출
	using (TextReader reader = parser.GetText())
	{
		Dictionary<string, int> stats = new Dictionary<string, int>();
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// 단어를 나누다
		string[] words = text.Split(chars);
		int minWordLength = 2; // Consider a word having more than 2 characters

		// 단어 컬렉션을 반복하여 발생 횟수를 계산합니다.
		foreach (string word in words)
		{
			string w = word.Trim().ToLower();
			if (w.Length > minWordLength)
			{
				if (!stats.ContainsKey(w))
				{
					stats.Add(w, 1); // add new word to collection
				}
				else
				{
					stats[w] += 1; // update word occurrence count
				}
			}
		}
		// 단어 수로 컬렉션을 주문하십시오
		var orderedStats = stats.OrderByDescending(x => x.Value);
		
    		// 단어 수 결과 인쇄
		Console.WriteLine("Total word count: {0}", stats.Count);

    		foreach (var pair in orderedStats)
		{
			Console.WriteLine("Total occurrences of {0}: {1}", pair.Key, pair.Value);
		}
	}
}

다음은 위 코드의 출력입니다.

단어 발생 횟수

무료 API 라이선스 받기

평가 제한 없이 API를 사용하기 위해 임시 무료 라이선스 받기를 할 수 있습니다.

결론

요약하자면 C#을 사용하여 문서에서 단어 수를 계산하는 방법을 배웠습니다. 또한 문서의 각 단어에 대한 단어 발생 횟수를 얻는 방법에 대해 논의했습니다. 온라인 단어 카운터 .NET 응용 프로그램을 개발해 보십시오. API에 대한 자세한 내용 및 학습은 문서를 참조하십시오. 문의 사항은 포럼을 통해 문의해 주세요.

또한보십시오