La ripetizione dei dati può diminuire il valore del contenuto. Lavorando come scrittore, devi seguire il principio DRY (non ripetere te stesso). Le statistiche come il conteggio delle parole o il numero di occorrenze di ciascuna parola possono consentirti di analizzare il contenuto, ma è difficile farlo manualmente per più documenti. Pertanto, questo articolo mostra come contare le parole a livello di codice e il conteggio delle occorrenze delle parole di ogni parola nei formati di documento PDF, Word, Excel, PowerPoint, eBook, Markup ed e-mail utilizzando C#.
API .NET per contare parole e occorrenze
GroupDocs.Parser fornisce la soluzione di analisi dei documenti per gli sviluppatori. Per l’estrazione di testo dai documenti e il conteggio delle occorrenze, utilizzeremo il suo GroupDocs.Parser for .NET. L’API consente inoltre l’estrazione di immagini e metadati da un lungo elenco di formati documento supportato come documenti di elaborazione testi, presentazioni, fogli di calcolo, e-mail, database, eBook e molti altri.
Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API aggiungendo il suo pacchetto all’applicazione .NET tramite NuGet.
PM> Install-Package GroupDocs.Parser
Conta le parole usando C#
Per il conteggio delle parole, la cosa principale è analizzare ed estrarre l’intero contenuto del documento. Dopo l’estrazione del testo, possiamo suddividere il suo contenuto in una raccolta di frasi e parole. Il passaggio seguente consente di contare le parole all’interno del documento utilizzando C#.
- Carica il documento usando la classe Parser.
- Recupera il testo del documento caricato in TextReader.
- Ottieni il testo del documento da TextReader come stringa.
- Dividi il testo in parole e salvale in un array di stringhe.
- Esegui il conteggio delle parole.
Il codice sorgente C# seguente conta il numero di parole in un documento.
// Conta le parole nel documento PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
// Estrarre un testo nel lettore
using (TextReader reader = parser.GetText())
{
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// dividere le parole
string[] words = text.Split(chars);
// stampa il conteggio totale delle parole
Console.WriteLine("Total word count: {0}", stats.Count);
}
}
Conta le occorrenze delle parole in C#
Allo stesso modo, possiamo contare quante volte una parola o una frase particolare è stata utilizzata nel documento. Utilizzando questa funzione, puoi evitare l’eccessiva ripetizione di qualsiasi parola all’interno di un articolo. I passaggi seguenti contano l’occorrenza di ogni parola utilizzata in un documento.
- Carica il documento usando la classe Parser.
- Recupera il testo del documento caricato in TextReader.
- Leggi e dividi l’intero testo nella raccolta di parole.
- Attraversa la raccolta di parole per contare le parole.
Il frammento di codice C# seguente conta l’occorrenza di ogni parola univoca all’interno del documento.
// Conta le parole univoche e le loro occorrenze nel documento PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
// Estrai il testo in TextReader
using (TextReader reader = parser.GetText())
{
Dictionary<string, int> stats = new Dictionary<string, int>();
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// dividere le parole
string[] words = text.Split(chars);
int minWordLength = 2; // Consider a word having more than 2 characters
// scorrere la raccolta di parole per contare le occorrenze
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
}
}
}
// ordina la raccolta in base al conteggio delle parole
var orderedStats = stats.OrderByDescending(x => x.Value);
// Stampa i risultati del conteggio delle parole
Console.WriteLine("Total word count: {0}", stats.Count);
foreach (var pair in orderedStats)
{
Console.WriteLine("Total occurrences of {0}: {1}", pair.Key, pair.Value);
}
}
}
Quello che segue è l’output del codice precedente:

Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.
Conclusione
Per riassumere, hai imparato a contare le parole in un documento usando C#. Inoltre, abbiamo discusso di come ottenere il conteggio delle occorrenze delle parole per ogni parola nel documento. Prova a sviluppare la tua applicazione .NET per il contatore di parole online. Per maggiori dettagli e informazioni sull’API, visita la documentazione. Per domande, contattaci tramite il forum.