Писать — это не просто простая задача для всех. Не рекомендуется повторять одни и те же слова и фразы снова и снова. В современном мире оптимизации вам часто нужно считать, а затем ограничивать повторение слов и фраз. В этой статье обсуждается, как программно подсчитывать слова в документах и вхождения каждого слова в Java.

Java API для подсчета слов и вхождений

GroupDocs.Parser демонстрирует решение для синтаксического анализа документов для разработчиков. Я буду использовать его Java API, т.е. GroupDocs.Parser for Java для извлечения текста из документов и подсчета вхождений. API также позволяет извлекать изображения и метаданные для большого списка поддерживаемых форматов документов, таких как текстовые документы, презентации, электронные таблицы, электронные письма, базы данных, электронные книги и многие другие.

Скачать и настроить

Загрузите библиотеку из раздела загрузок. Для вашего Java-приложения на основе Maven просто добавьте следующую конфигурацию pom.xml. После этого вы можете запустить примеры из этой статьи и многие другие примеры, доступные на GitHub. Для получения подробной информации вы можете посетить Справочник по 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>

Подсчет слов в документе с использованием Java

Во-первых, важно точно разобрать и извлечь все содержимое документа перед подсчетом слов. После извлечения текста мы можем легко разделить его содержимое на набор слов и фраз. Следующие шаги показывают, как подсчитать количество слов в документе с помощью Java.

  • Загрузите документ с помощью класса Parser.
  • Получить текст загруженного документа с помощью TextReader.
  • Разделите текст на слова, используя разделители.
  • Выполните подсчет слов.

Следующий исходный код Java подсчитывает количество слов в документе.

// Подсчет слов в документе PDF с использованием Java
// Подсчет уникальных слов и их вхождений в PDF-документ с использованием 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);
}

Подсчет вхождений слов в Java

Точно так же мы можем подсчитать, сколько раз конкретное или любое уникальное слово или фраза появлялись в документе. Используя эту функцию, вы можете избежать повторения любого слова в статье. Следующие шаги подсчитывают появление каждого слова в документе с использованием Java.

  • Загрузите документ с помощью класса Parser.
  • Получить текст загруженного документа с помощью TextReader.
  • Прочитайте и разделите весь текст на коллекцию слов.
  • Пройдите по коллекции слов, чтобы подсчитать появление каждого слова.

Следующий фрагмент кода Java подсчитывает появление каждого уникального слова в документе.

// Подсчет уникальных слов и их вхождений в PDF-документ с использованием 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());
	});
}

Ниже приведен вывод приведенного выше кода:

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

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

В заключение вы узнали, как считать слова в документе с помощью Java. Кроме того, мы обсудили, как мы можем получить количество вхождений каждого слова, используемого в документе. Попробуйте разработать Java-приложение для онлайн-счетчика слов. Для получения более подробной информации и изучения API посетите документацию. По вопросам обращайтесь к нам через форум.

Смотрите также