Escrever não é apenas uma tarefa simples para todos. Recomenda-se não repetir as mesmas palavras e frases repetidas vezes. No mundo de otimização de hoje, muitas vezes você precisa contar e limitar a repetição de palavras e frases. Este artigo discute como contar palavras em documentos programaticamente e as ocorrências de cada palavra em Java.

API Java para contar palavras e ocorrências

GroupDocs.Parser apresenta a solução de análise de documentos para desenvolvedores. Usarei sua API Java, ou seja, GroupDocs.Parser for Java para extração de texto de documentos e contagem de ocorrências. A API também permite a extração de imagens e metadados para uma grande lista de formatos de documentos suportados, como documentos de processamento de texto, apresentações, planilhas, e-mails, bancos de dados, eBooks e muitos outros.

Baixe e configure

Obtenha a biblioteca na seção de downloads. Para seu aplicativo Java baseado em Maven, basta adicionar a seguinte configuração pom.xml. Depois disso, você pode executar os exemplos deste artigo e muitos outros exemplos disponíveis no GitHub. Para obter detalhes, você pode visitar a Referência da API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>22.3</version> 
</dependency>

Contar palavras no documento usando Java

Em primeiro lugar, é importante analisar e extrair com precisão todo o conteúdo do documento antes de contar as palavras. Após a extração do texto, podemos facilmente dividir seu conteúdo em uma coleção de palavras e frases. As etapas a seguir mostram como contar as palavras dentro do documento usando Java.

  • Carregue o documento usando a classe Parser.
  • Busque o texto do documento carregado usando TextReader.
  • Divida o texto em palavras usando delimitadores.
  • Executar contagem de palavras.

O código-fonte Java a seguir conta o número de palavras em um documento.

// Contar palavras em documento PDF usando Java
// Contar palavras únicas e suas ocorrências em documento PDF usando Java
try (Parser parser = new Parser("path/document.pdf")) {

	TextReader reader = parser.getText();
	String text = reader.readToEnd();

	String[] words = text.split("\\s+|\\.|\\,|\\?|\\:|\\;");
	System.out.println("Length:" + words.length);
}

Contar ocorrências de palavras em Java

Da mesma forma, podemos contar quantas vezes uma palavra ou frase específica ou única apareceu no documento. Ao usar esse recurso, você pode evitar a repetição de qualquer palavra dentro do artigo. As etapas a seguir contam a ocorrência de cada palavra dentro do documento usando Java.

  • Carregue o documento usando a classe Parser.
  • Recupere o texto do documento carregado usando TextReader.
  • Leia e divida todo o texto em coleção de palavras.
  • Percorra a coleção de palavras para contar a aparência de cada palavra.

O trecho de código Java a seguir conta a ocorrência de cada palavra exclusiva no documento.

// Contar palavras únicas e suas ocorrências em documento PDF usando Java
try (Parser parser = new Parser("path/document.pdf")) {

	TextReader reader = parser.getText();
	String text = reader.readToEnd();

	String[] words = text.split("\\s+|\\.|\\,|\\?|\\:|\\;");
	Hashtable<String, Integer> wordCountTable = new Hashtable<String, Integer>();

	int minWordLength = 2;
	for (String word : words) 
	{
		String uniqueWord = word.toLowerCase();
		if (uniqueWord.length() > minWordLength) 
		{
			if (wordCountTable.containsKey(uniqueWord))	{
				wordCountTable.replace(uniqueWord, wordCountTable.get(uniqueWord),
						wordCountTable.get(uniqueWord).intValue() + 1);
			} else {
				wordCountTable.put(uniqueWord, 1);
			}

		}
	}
	wordCountTable.entrySet().forEach(entry -> {
		System.out.println(entry.getKey() + ": " + entry.getValue());
	});
}

Segue a saída do código acima:

lorem: 6
ipsum: 2
eleifend: 2
integer: 1
augue: 3
aliquet: 1
ligula: 1
dolor: 1
venenatis: 2
viverra: 1
amet: 2
urna: 1
senectus: 2
lectus: 2
volutpat: 1
massa: 1
blandit: 1
dapibus: 1
habitant: 2
pharetra: 2
...

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 concluir, você aprendeu a contar palavras em um documento usando Java. Além disso, discutimos como podemos obter a contagem de ocorrências de palavras para cada palavra usada no documento. Tente desenvolver seu aplicativo Java 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.

Veja também