Escribir no es solo una tarea simple para todos. Se recomienda no repetir las mismas palabras y frases una y otra vez. En el mundo actual de la optimización, a menudo es necesario contar y luego limitar la repetición de palabras y frases. Este artículo analiza cómo contar palabras mediante programación en documentos y las ocurrencias de cada palabra en Java.

API de Java para contar palabras y ocurrencias

GroupDocs.Parser muestra la solución de análisis de documentos para desarrolladores. Usaré su API de Java, es decir, GroupDocs.Parser for Java para la extracción de texto de los documentos y el conteo de ocurrencias. La API también permite la extracción de imágenes y metadatos para una gran lista de formatos de documentos admitidos como documentos de procesamiento de texto, presentaciones, hojas de cálculo, correos electrónicos, bases de datos, libros electrónicos y muchos otros.

Descargar y configurar

Obtenga la biblioteca de la sección de descargas. Para su aplicación Java basada en Maven, simplemente agregue la siguiente configuración pom.xml. Después de esto, puede ejecutar los ejemplos de este artículo y muchos más ejemplos disponibles en GitHub. Para obtener más información, puede visitar la Referencia 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 palabras en un documento usando Java

En primer lugar, es importante analizar y extraer con precisión todo el contenido del documento antes de contar las palabras. Después de la extracción del texto, podemos dividir fácilmente su contenido en una colección de palabras y frases. Los siguientes pasos muestran cómo contar las palabras dentro del documento usando Java.

  • Cargar el documento usando la clase Parser.
  • Obtener el texto del documento cargado usando TextReader.
  • Divide el texto en palabras usando delimitadores.
  • Realizar recuento de palabras.

El siguiente código fuente de Java cuenta el número de palabras en un documento.

// Contar palabras en un documento PDF usando Java
// Cuente palabras únicas y sus ocurrencias en documentos 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 ocurrencias de palabras en Java

Asimismo, podemos contar cuántas veces apareció en el documento una determinada o única palabra o frase. Al usar esta función, puede evitar la repetición de cualquier palabra dentro del artículo. Los siguientes pasos cuentan la ocurrencia de cada palabra dentro del documento usando Java.

  • Cargar el documento usando la clase Parser.
  • Recuperar el texto del documento cargado usando TextReader.
  • Lea y divida todo el texto en una colección de palabras.
  • Atraviesa la colección de palabras para contar la aparición de cada palabra.

El siguiente fragmento de código Java cuenta la aparición de cada palabra única dentro del documento.

// Cuente palabras únicas y sus ocurrencias en documentos 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());
	});
}

La siguiente es la salida del código anterior:

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

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

Para concluir, aprendiste a contar palabras en un documento usando Java. Además, discutimos cómo podemos obtener el recuento de ocurrencia de palabras para cada palabra utilizada en el documento. Intente desarrollar su aplicación Java de contador de palabras en línea. Para obtener más detalles y aprender sobre la API, visite la documentación. Para consultas, contáctenos a través del foro.

Ver también