Psaní není jen jednoduchý úkol pro každého. Doporučuje se neopakovat stále stejná slova a fráze. V dnešním světě optimalizace je často potřeba počítat a následně omezit opakování slovíček a frází. Tento článek popisuje, jak programově počítat slova v dokumentech a výskyty každého slova v Java.
Java API pro počítání slov a výskytů
GroupDocs.Parser představuje řešení analýzy dokumentů pro vývojáře. K extrakci textu z dokumentů a počítání výskytů použiji jeho Java API, tj. GroupDocs.Parser for Java. API také umožňuje extrakci obrázků a metadat pro velký seznam podporovaných formátů dokumentů, jako jsou dokumenty pro zpracování textu, prezentace, tabulky, e-maily, databáze, elektronické knihy a mnoho dalších.
Stáhnout a nakonfigurovat
Získejte knihovnu z sekce ke stažení. Pro vaši Java aplikaci založenou na Maven stačí přidat následující konfiguraci pom.xml. Poté můžete spustit příklady z tohoto článku a mnoho dalších příkladů dostupných na GitHub. Podrobnosti naleznete v Odkaz na rozhraní 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>
Počítání slov v dokumentu pomocí Java
Za prvé, je důležité přesně analyzovat a extrahovat celý obsah dokumentu před počítáním slov. Po extrakci textu můžeme jeho obsah snadno rozdělit na sbírku slov a frází. Následující kroky ukazují, jak počítat slova v dokumentu pomocí Java.
- Načtěte dokument pomocí třídy Parser.
- Načtěte text načteného dokumentu pomocí TextReader.
- Rozdělte text na slova pomocí oddělovačů.
- Proveďte počítání slov.
Následující zdrojový kód Java počítá počet slov v dokumentu.
// Počítejte slova v dokumentu PDF pomocí Java
// Počítejte jedinečná slova a jejich výskyty v dokumentu PDF pomocí 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);
}
Počítejte výskyty slov v Java
Stejně tak můžeme spočítat, kolikrát se v dokumentu objevilo určité nebo jakékoli jedinečné slovo nebo fráze. Pomocí této funkce se můžete vyhnout opakování jakéhokoli slova v článku. Následující kroky počítají výskyt každého slova v dokumentu pomocí Java.
- Načtěte dokument pomocí třídy Parser.
- Načtěte text načteného dokumentu pomocí TextReader.
- Přečtěte si a rozdělte celý text do kolekce slov.
- Procházejte sbírku slov a spočítejte výskyt jednotlivých slov.
Následující fragment kódu Java počítá výskyt každého jedinečného slova v dokumentu.
// Počítejte jedinečná slova a jejich výskyty v dokumentu PDF pomocí 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());
});
}
Následuje výstup výše uvedeného kódu:
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
...
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.
Závěr
Na závěr jste se naučili počítat slova v dokumentu pomocí Javy. Kromě toho jsme diskutovali o tom, jak můžeme získat počet výskytů slov pro každé slovo použité v dokumentu. Zkuste vyvinout online aplikaci Java pro počítadlo slov. Další podrobnosti a informace o rozhraní API naleznete v dokumentaci. V případě dotazů nás kontaktujte prostřednictvím fóra.