Powtarzanie danych może zmniejszyć wartość treści. Pracując jako pisarz, musisz przestrzegać zasady DRY(nie powtarzaj się). Statystyki, takie jak liczba słów lub liczba wystąpień każdego słowa, pozwalają analizować zawartość, ale trudno jest to zrobić ręcznie dla wielu dokumentów. W tym artykule pokazano, jak programowo zliczać wyrazy i liczbę wystąpień każdego wyrazu w formatach dokumentów PDF, Word, Excel, PowerPoint, eBook, Markup i Email przy użyciu języka C#.

.NET API do liczenia słów i wystąpień

GroupDocs.Parser zapewnia programistom rozwiązanie do analizowania dokumentów. Do ekstrakcji tekstu z dokumentów i liczenia wystąpień użyjemy jego GroupDocs.Parser for .NET. Interfejs API umożliwia ponadto wyodrębnianie obrazów i metadanych z długiej listy formatów obsługiwanych dokumentów, takich jak dokumenty edytorów tekstu, prezentacje, arkusze kalkulacyjne, e-maile, bazy danych, książki elektroniczne i wiele innych.

Możesz pobrać instalator DLL lub MSI z sekcji pobierania lub zainstalować API, dodając jego pakiet do swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Parser

Policz słowa za pomocą C#

Do liczenia słów najważniejsze jest przeanalizowanie i wyodrębnienie całej treści dokumentu. Po wydobyciu tekstu możemy podzielić jego zawartość na zbiór zdań i słów. Poniższy krok umożliwia zliczanie słów w dokumencie przy użyciu języka C#.

  • Załaduj dokument za pomocą klasy Parser.
  • Pobierz tekst załadowanego dokumentu do TextReader.
  • Dostawać the text of the document from the TextReader as a string.
  • Podziel tekst na słowa i zapisz je w tablicy ciągów.
  • Wykonaj liczenie słów.

Poniższy kod źródłowy języka C# zlicza liczbę wyrazów w dokumencie.

// Policz słowa w dokumencie PDF za pomocą C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Wyodrębnij tekst do czytnika
	using (TextReader reader = parser.GetText())
	{
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// podzielone słowa
		string[] words = text.Split(chars);
		// wydrukuj całkowitą liczbę słów
		Console.WriteLine("Total word count: {0}", stats.Count);
	}
}

Policz występowanie słów w C#

Podobnie możemy policzyć, ile razy dane słowo lub fraza została użyta w dokumencie. Korzystając z tej funkcji, możesz uniknąć nadmiernego powtarzania dowolnego słowa w artykule. Poniższe kroki zliczają wystąpienia każdego słowa użytego w dokumencie.

  • Załaduj dokument za pomocą klasy Parser.
  • Pobierz tekst załadowanego dokumentu do TextReader.
  • Przeczytaj i podziel cały tekst na zbiór słów.
  • Przejrzyj kolekcję słów, aby policzyć słowa.

Poniższy fragment kodu C# zlicza wystąpienia każdego unikatowego słowa w dokumencie.

// Policz unikalne słowa i ich wystąpienia w dokumencie PDF za pomocą C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Wyodrębnij tekst do TextReadera
	using (TextReader reader = parser.GetText())
	{
		Dictionary<string, int> stats = new Dictionary<string, int>();
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// podzielone słowa
		string[] words = text.Split(chars);
		int minWordLength = 2; // Consider a word having more than 2 characters

		// iteruj po kolekcji słów, aby policzyć wystąpienia
		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
				}
			}
		}
		// uporządkować kolekcję według liczby słów
		var orderedStats = stats.OrderByDescending(x => x.Value);
		
    		// Wydrukuj liczbę słów Wyniki
		Console.WriteLine("Total word count: {0}", stats.Count);

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

Poniżej przedstawiono dane wyjściowe powyższego kodu:

Liczba wystąpień słów

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyłeś się liczyć słowa w dokumencie przy użyciu języka C#. Ponadto omówiliśmy, w jaki sposób możemy uzyskać liczbę wystąpień słów dla każdego słowa w dokumencie. Spróbuj opracować aplikację .NET do liczenia słów online. Aby uzyskać więcej informacji i dowiedzieć się więcej o interfejsie API, odwiedź dokumentację. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też