V tomto článku předvedu, jak najít a nahradit text v dokumentech Wordu (DOC/DOCX) programově pomocí Java. Průvodce krok za krokem a ukázky kódu pokrývají různé scénáře hledání a nahrazování textu v dokumentech aplikace Word.

Vyhledejte a nahraďte text v dokumentech aplikace Word

MS Word poskytuje snadný způsob, jak najít a nahradit text v dokumentech. Jedním z oblíbených případů použití při hledání a nahrazování textu může být odstranění nebo nahrazení citlivých informací v dokumentech před jejich sdílením mezi různými subjekty. Manuální proces však může vyžadovat instalaci MS Word a aktualizaci každého dokumentu zvlášť. V takových situacích by to bylo praktické a časově nenáročné, zejména pokud máte integrované funkce hledání a nahrazování do vaší desktopové nebo webové aplikace. Začněme tedy a podívejme se, jak najít a nahradit text v dokumentech aplikace Word pomocí Java v různých scénářích.

Java API pro vyhledání a nahrazení textu v dokumentech aplikace Word

Abychom mohli implementovat funkci najít a nahradit, použijeme Aspose.Words for Java, což je výkonné, na funkce bohaté a snadno použitelné rozhraní API pro zpracování textu pro platformu Java. Můžete si stáhnout jeho JAR nebo jej nainstalovat do své aplikace založené na Maven pomocí následujících konfigurací.

úložiště:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Závislost:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.5</version>
    <classifier>jdk17</classifier>
</dependency>

Najít a nahradit text v dokumentech Word (DOC/DOCX) pomocí Java

Začněme tím, že se zaměříme na jednoduchý scénář hledání a nahrazení, kde ve vstupním dokumentu aplikace Word najdeme slovo „Smutný“. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak najít a nahradit text v dokumentech Word DOCX pomocí Java.

// Načtěte dokument Word DOCX
Document doc = new Document("document.docx");
// Najít a nahradit text v dokumentu
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// Uložte dokument aplikace Word
doc.save("Find-And-Replace-Text.docx");

Níže je vstupní dokument aplikace Word, který jsme použili v tomto článku.

najít a nahradit text v DOCX pomocí Java

Následuje výstup po nalezení a nahrazení slova „smutný“.

najít a nahradit slovo

Najít a nahradit podobná slova ve Wordu DOC/DOCX pomocí Java

Rozhraní API můžete také přizpůsobit tak, aby našlo a nahradilo text na základě podobnosti. Například slova „smutný“, „šílený“ a „špatný“ mají podobný vzorec, který končí na „reklama“. E-mailová ID jsou dalším příkladem takového textu. V takových případech můžete definovat vzor regulárních výrazů, abyste našli a nahradili všechny výskyty textu s určitým vzorem. Níže jsou uvedeny kroky, jak toho dosáhnout.

Následující ukázka kódu ukazuje, jak najít a nahradit podobná slova na základě určitého vzoru pomocí Java.

// Načtěte dokument Word DOCX
Document doc = new Document("document.docx");
// Najděte a nahraďte podobná slova v dokumentu
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// Uložte dokument aplikace Word
doc.save("Find-And-Replace-Text.docx");

Následuje snímek obrazovky dokumentu Word po aktualizaci podobných slov.

najít a nahradit podobná slova pomocí Java

Aspose.Words také umožňuje najít a nahradit text pouze v záhlaví/zápatí dokumentu aplikace Word. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak najít a nahradit text v záhlaví/zápatí dokumentu Word pomocí Java.

// Načtěte dokument Word DOCX
Document doc = new Document("document.docx");
// Přístup ke kolekci zápatí záhlaví
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// Nastavte možnosti hledání a nahrazení
FindReplaceOptions options = new FindReplaceOptions();
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// Uložte dokument aplikace Word
doc.save("Find-And-Replace-Text.docx");

Následující snímek obrazovky ukazuje aktualizovaný text v zápatí dokumentu aplikace Word.

najít a nahradit text v zápatí

Najděte a nahraďte text metaznaky ve Wordu DOCX pomocí Java

Může nastat případ, kdy potřebujete najít a nahradit frázi, která je rozdělena do více řádků nebo odstavců. V takových případech se budete muset postarat o zalomení odstavců, oddílů nebo řádků. Aspose.Words for Java vám zjednodušuje zvládnutí takových případů. Níže jsou uvedeny metaznaky, které můžete použít pro různé přestávky:

  • &p: konec odstavce
  • &b: konec sekce
  • &m: konec stránky
  • &l: zalomení řádku

Následující ukázka kódu ukazuje, jak najít a nahradit text zalomením odstavce v dokumentu aplikace Word.

// Načtěte dokument Word DOCX
Document doc = new Document("document.docx");
// Nastavit možnosti
FindReplaceOptions options = new FindReplaceOptions();
// Zakázat shodování velkých a malých písmen a hledání pouze celých slov
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// Nahraďte text zalomením odstavce
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Uložte dokument aplikace Word
doc.save("Find-And-Replace-Text.docx");

Následuje snímek obrazovky výstupního dokumentu aplikace Word.

najít a nahradit text meta znaky

Závěr

V tomto článku jste viděli, jak najít a nahradit text v dokumentech Word DOC/DOCX programově pomocí Java. Různé scénáře hledání a nahrazování textu v souborech MS Word DOCX byly řešeny pomocí ukázek kódu. Více o Aspose.Words for Java se můžete dozvědět v dokumentaci.

Viz také