写作对每个人来说不仅仅是一项简单的任务。建议不要一次又一次地重复相同的单词和短语。在当今的优化世界中,您经常需要计数然后限制单词和短语的重复。本文讨论了如何以编程方式计算文档中的单词以及 Java 中每个单词的出现次数。
用于计算单词和出现次数的 Java API
GroupDocs.Parser 展示了面向开发人员的文档解析解决方案。我将使用它的 Java API 即 GroupDocs.Parser for Java 从文档中提取文本并计算出现次数。 API 还允许为大量支持的文档格式 (如文字处理文档、演示文稿、电子表格、电子邮件、数据库、电子书等) 提取图像和元数据。
下载和配置
从 下载部分 获取库。对于基于 Maven 的 Java 应用程序,只需添加以下 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 源代码计算文档中的单词数。
// 使用 Java 计算 PDF 文档中的字数
// 使用 Java 计算 PDF 文档中的唯一单词及其出现次数
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 代码片段计算文档中每个唯一单词的出现次数。
// 使用 Java 计算 PDF 文档中的唯一单词及其出现次数
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 的更多详细信息和了解,请访问 文档。如有疑问,请通过 论坛 联系我们。