A repetição de dados pode diminuir o valor do conteúdo. Trabalhando como escritor, você deve seguir o princípio DRY (não se repita). As estatísticas, como a contagem de palavras ou o número de ocorrências de cada palavra, podem permitir que você analise o conteúdo, mas é difícil fazer isso manualmente para vários documentos. Portanto, este artigo demonstra como contar palavras programaticamente e a contagem de ocorrências de cada palavra nos formatos de documento PDF, Word, Excel, PowerPoint, eBook, Markup e Email usando C#.
API .NET para contar palavras e ocorrências
GroupDocs.Parser fornece a solução de análise de documentos para desenvolvedores. Para a extração de texto de documentos, e contagem de ocorrências, usaremos seu GroupDocs.Parser for .NET. A API permite ainda a extração de imagens e metadados de uma longa lista de documentos suportados formatos como documentos de processamento de texto, apresentações, planilhas, e-mails, bancos de dados, eBooks e muitos outros.
Você pode baixar as DLLs ou o instalador MSI da seção de downloads ou instalar a API adicionando seu pacote ao seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Parser
Contar palavras usando C#
Para a contagem de palavras, o principal é analisar e extrair todo o conteúdo do documento. Após a extração do texto, podemos dividir seu conteúdo em uma coleção de frases e palavras. A etapa a seguir permite contar as palavras dentro do documento usando C#.
- Carregue o documento usando a classe Parser.
- Buscar o texto do documento carregado em TextReader.
- Obter o texto do documento do TextReader como uma string.
- Divida o texto em palavras e salve-as em uma matriz de strings.
- Executar contagem de palavras.
O código-fonte C# a seguir conta o número de palavras em um documento.
// Contar palavras em documento PDF usando C #
using (Parser parser = new Parser("path/document.pdf"))
{
// Extraia um texto para o leitor
using (TextReader reader = parser.GetText())
{
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// palavras divididas
string[] words = text.Split(chars);
// imprimir contagem total de palavras
Console.WriteLine("Total word count: {0}", stats.Count);
}
}
Contar a ocorrência de palavras em C#
Da mesma forma, podemos contar quantas vezes uma determinada palavra ou frase foi usada no documento. Ao usar esse recurso, você pode evitar a repetição excessiva de qualquer palavra dentro de um artigo. As etapas a seguir contam a ocorrência de cada palavra usada em um documento.
- Carregue o documento usando a classe Parser.
- Recupere o texto do documento carregado em TextReader.
- Leia e divida todo o texto na coleção de palavras.
- Atravesse a coleção de palavras para contar palavras.
O trecho de código C# a seguir conta a ocorrência de cada palavra exclusiva no documento.
// Contar palavras únicas e suas ocorrências em documento PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
// Extrair texto no TextReader
using (TextReader reader = parser.GetText())
{
Dictionary<string, int> stats = new Dictionary<string, int>();
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// palavras divididas
string[] words = text.Split(chars);
int minWordLength = 2; // Consider a word having more than 2 characters
// iterar sobre a coleção de palavras para contar ocorrências
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
}
}
}
// ordenar a coleção por contagem de palavras
var orderedStats = stats.OrderByDescending(x => x.Value);
// Imprimir resultados da contagem de palavras
Console.WriteLine("Total word count: {0}", stats.Count);
foreach (var pair in orderedStats)
{
Console.WriteLine("Total occurrences of {0}: {1}", pair.Key, pair.Value);
}
}
}
Segue a saída do código acima:
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.
Conclusão
Para resumir, você aprendeu a contar palavras em um documento usando C#. Além disso, discutimos como podemos obter a contagem de ocorrências de palavras para cada palavra no documento. Tente desenvolver seu aplicativo .NET de contador de palavras online. Para obter mais detalhes e aprender sobre a API, visite a documentação. Para dúvidas, entre em contato conosco através do fórum.