Писать — это не просто простая задача для всех. Не рекомендуется повторять одни и те же слова и фразы снова и снова. В современном мире оптимизации вам часто нужно считать, а затем ограничивать повторение слов и фраз. В этой статье обсуждается, как программно подсчитывать слова в документах и вхождения каждого слова в 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 посетите документацию. По вопросам обращайтесь к нам через форум.