寫作對每個人來說都不僅僅是一項簡單的任務。建議不要一次又一次地重複相同的單詞和短語。在當今的優化世界中,您經常需要計算然後限制單詞和短語的重複。本文討論如何以編程方式計算文檔中的單詞數以及每個單詞在 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 的更多詳細信息和學習,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。

也可以看看