写作对每个人来说不仅仅是一项简单的任务。建议不要一次又一次地重复相同的单词和短语。在当今的优化世界中,您经常需要计数然后限制单词和短语的重复。本文讨论了如何以编程方式计算文档中的单词以及 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 的更多详细信息和了解,请访问 文档。如有疑问,请通过 论坛 联系我们。

也可以看看