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:
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.