La répétition des données peut diminuer la valeur du contenu. En tant qu’écrivain, vous devez suivre le principe DRY (ne vous répétez pas). Les statistiques telles que le nombre de mots ou le nombre d’occurrences de chaque mot peuvent vous permettre d’analyser le contenu, mais il est difficile de le faire manuellement pour plusieurs documents. Cet article montre donc comment ** compter les mots par programmation ** et le nombre d’occurrences de mots de chaque mot dans les formats de document PDF, Word, Excel, PowerPoint, eBook, Markup et Email à l’aide de C#.

API .NET pour compter les mots et les occurrences

GroupDocs.Parser fournit la solution d’analyse de documents pour les développeurs. Pour l’extraction de texte à partir de documents et le comptage des occurrences, nous utiliserons son GroupDocs.Parser for .NET. L’API permet en outre l’extraction d’images et de métadonnées à partir d’une longue liste de formats de document pris en charge tels que des documents de traitement de texte, des présentations, des feuilles de calcul, des e-mails, des bases de données, des livres électroniques et bien d’autres.

Vous pouvez télécharger les DLL ou le programme d’installation MSI à partir de la section téléchargements ou installer l’API en ajoutant son package à votre application .NET via NuGet.

PM> Install-Package GroupDocs.Parser

Compter les mots en C#

Pour le comptage des mots, l’essentiel est d’analyser et d’extraire tout le contenu du document. Après l’extraction du texte, nous pouvons diviser son contenu en une collection de phrases et de mots. L’étape suivante permet de compter les mots dans le document en utilisant C#.

  • Charger le document en utilisant la classe Parser.
  • Récupérer le texte du document chargé dans TextReader.
  • Obtenir le texte du document du TextReader sous forme de chaîne.
  • Divisez le texte en mots et enregistrez-les dans un tableau de chaînes.
  • Effectuer le comptage des mots.

Le code source C# suivant compte le nombre de mots dans un document.

// Compter les mots dans un document PDF à l'aide de C#
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Extraire un texte dans le lecteur
	using (TextReader reader = parser.GetText())
	{
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// mots séparés
		string[] words = text.Split(chars);
		// imprimer le nombre total de mots
		Console.WriteLine("Total word count: {0}", stats.Count);
	}
}

Compter l’occurrence des mots en C

De même, nous pouvons compter combien de fois un mot ou une phrase particulière a été utilisée dans le document. En utilisant cette fonctionnalité, vous pouvez éviter la répétition excessive d’un mot dans un article. Les étapes suivantes comptent l’occurrence de chaque mot utilisé dans un document.

  • Charger le document en utilisant la classe Parser.
  • Récupérer le texte du document chargé dans TextReader.
  • Lire et diviser l’ensemble du texte dans la collection de mots.
  • Parcourez la collection de mots pour compter les mots.

L’extrait de code C# suivant compte l’occurrence de chaque mot unique dans le document.

// Compter les mots uniques et leurs occurrences dans un document PDF à l'aide de C #
using (Parser parser = new Parser("path/document.pdf"))
{                
	// Extraire du texte dans TextReader
	using (TextReader reader = parser.GetText())
	{
		Dictionary<string, int> stats = new Dictionary<string, int>();
		string text = reader.ReadToEnd();
		char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
		// mots séparés
		string[] words = text.Split(chars);
		int minWordLength = 2; // Consider a word having more than 2 characters

		// parcourir la collection de mots pour compter les occurrences
		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
				}
			}
		}
		// commander la collection par nombre de mots
		var orderedStats = stats.OrderByDescending(x => x.Value);
		
    		// Imprimer le nombre de mots Résultats
		Console.WriteLine("Total word count: {0}", stats.Count);

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

Voici la sortie du code ci-dessus :

Nombre d'occurrences de mots

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans les limitations d’évaluation.

Conclusion

Pour résumer, vous avez appris à compter les mots dans un document à l’aide de C#. De plus, nous avons discuté de la manière d’obtenir le nombre d’occurrences de mots pour chaque mot du document. Essayez de développer votre application .NET de compteur de mots en ligne. Pour plus de détails et en savoir plus sur l’API, consultez la documentation. Pour toute question, contactez-nous via le forum.

Voir également