In diesem Artikel zeige ich, wie Sie Text in Word Dokumenten (DOC/DOCX) programmgesteuert mit Java suchen und ersetzen. Die Schritt-für-Schritt-Anleitung und die Codebeispiele behandeln verschiedene Szenarien zum Suchen und Ersetzen von Text in Word Dokumenten.
MS Word bietet eine einfache Möglichkeit, Text in den Dokumenten zu finden und zu ersetzen. Einer der beliebtesten Anwendungsfälle für das Suchen und Ersetzen von Text könnte darin bestehen, vertrauliche Informationen in den Dokumenten zu entfernen oder zu ersetzen, bevor sie von verschiedenen Entitäten geteilt werden. Der manuelle Prozess kann jedoch erfordern, dass Sie MS Word installieren und jedes Dokument separat aktualisieren. In solchen Situationen wäre es praktisch und zeitsparend, besonders wenn Sie Funktionen zum Suchen und Ersetzen in Ihre Desktop oder Webanwendung integriert haben. Lassen Sie uns also beginnen und sehen, wie Sie Text in Word Dokumenten mit Java in verschiedenen Szenarien suchen und ersetzen.
- Suchen und Ersetzen von Text in Word DOC/DOCX mit Java
- Ersetzen Sie ähnliche Wörter basierend auf dem Regex-Muster in Word DOC/DOCX
- Suchen und Ersetzen von Text in der Kopf-/Fußzeile eines Word Dokuments
- Suchen und Ersetzen von Text durch Metazeichen in Word DOC/DOCX
Java API zum Suchen und Ersetzen von Text in Word Dokumenten
Um die Funktion zum Suchen und Ersetzen zu implementieren, verwenden wir Aspose.Words for Java, eine leistungsstarke, funktionsreiche und einfach zu verwendende Textverarbeitungs-API für die Java-Plattform. Sie können sein JAR entweder herunterladen oder es in Ihrer Maven-basierten Anwendung mit den folgenden Konfigurationen installieren.
Repository:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Abhängigkeit:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.5</version>
<classifier>jdk17</classifier>
</dependency>
Suchen und Ersetzen von Text in Word Dokumenten (DOC/DOCX) mit Java
Beginnen wir mit einem einfachen Suchen-und-Ersetzen-Szenario, in dem wir das Wort „Traurig“ im eingegebenen Word Dokument finden. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Erstellen Sie eine Instanz der Klasse Document und übergeben Sie ihr den Pfad des Word Dokuments.
- Suchen und ersetzen Sie Text mit der methode Document.getRange.replace(String, String, FindReplaceOptions).
- Speichern Sie das Dokument mit der methode Document.save(String).
Das folgende Codebeispiel zeigt, wie Text in Word-DOCX Dokumenten mit Java gesucht und ersetzt wird.
// Laden Sie ein Word-DOCX-Dokument
Document doc = new Document("document.docx");
// Text im Dokument suchen und ersetzen
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// Speichern Sie das Word Dokument
doc.save("Find-And-Replace-Text.docx");
Unten ist das Eingabe-Word Dokument, das wir in diesem Artikel verwendet haben.
Das Folgende ist die Ausgabe nach dem Finden und Ersetzen des Wortes “sad”.
Finden und ersetzen Sie ähnliche Wörter in Word DOC/DOCX mit Java
Sie können die API auch anpassen, um Text basierend auf der Ähnlichkeit zu suchen und zu ersetzen. Beispielsweise folgen die Wörter „sad“, „mad“ und „bad“ einem ähnlichen Muster, das auf „ad“ endet. Email-IDs sind ein weiteres Beispiel für einen solchen Text. In solchen Fällen können Sie ein Regex-Muster definieren, um alle Textvorkommen mit einem bestimmten Muster zu finden und zu ersetzen. Im Folgenden sind die Schritte aufgeführt, um dies zu erreichen.
- Erstellen Sie eine Instanz der Klasse Document und übergeben Sie ihr den Pfad des Word Dokuments.
- Definieren Sie ein Regex-Muster mit der methode Pattern.compile() und übergeben Sie es an die Methode Document.getRange().replace(Pattern pattern, String replacement, FindReplaceOptions options).
- Speichern Sie das aktualisierte Dokument mit der methode Document.save(String).
Das folgende Codebeispiel zeigt, wie ähnliche Wörter basierend auf einem bestimmten Muster mit Java gesucht und ersetzt werden.
// Laden Sie ein Word-DOCX-Dokument
Document doc = new Document("document.docx");
// Suchen und ersetzen Sie ähnliche Wörter im Dokument
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// Speichern Sie das Word Dokument
doc.save("Find-And-Replace-Text.docx");
Das Folgende ist der Screenshot des Word Dokuments nach dem Aktualisieren ähnlicher Wörter.
Ersetzen Sie Text in der Kopf-/Fußzeile des Word Dokuments
Mit Aspose.Words können Sie auch Text nur in der Kopf-/Fußzeile des Word Dokuments suchen und ersetzen. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Erstellen Sie eine Instanz der Klasse Document und übergeben Sie ihr den Pfad des Word Dokuments.
- Rufen Sie HeaderFooterCollection des Dokuments mit der methode Document.getFirstSection().getHeadersFooters() ab.
- Rufen Sie die jeweilige Kopf-/Fußzeile im Objekt HeaderFooter ab.
- Verwenden Sie die Methode HeaderFooter.getRange().replace(), um Text zu suchen und zu ersetzen.
- Speichern Sie das aktualisierte Word Dokument.
Das folgende Codebeispiel zeigt, wie Text in der Kopf-/Fußzeile eines Word Dokuments mit Java gesucht und ersetzt wird.
// Laden Sie ein Word-DOCX-Dokument
Document doc = new Document("document.docx");
// Greifen Sie auf die Header-Footer Sammlung zu
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// Legen Sie Optionen zum Suchen und Ersetzen fest
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);
// Speichern Sie das Word Dokument
doc.save("Find-And-Replace-Text.docx");
Der folgende Screenshot zeigt den aktualisierten Text in der Fußzeile des Word Dokuments.
Suchen und Ersetzen von Text durch Metazeichen in Word DOCX mit Java
Es kann vorkommen, dass Sie einen Satz suchen und ersetzen müssen, der in mehrere Zeilen oder Absätze unterteilt ist. In solchen Fällen müssen Sie sich um Absatz, Abschnitts oder Zeilenumbrüche kümmern. Aspose.Words for Java macht es Ihnen einfach, solche Fälle ganz einfach zu handhaben. Im Folgenden sind die Metazeichen aufgeführt, die Sie für verschiedene Pausen verwenden können:
- &p: Absatzumbruch
- &b: Abschnittsumbruch
- &m: Seitenumbruch
- &l: Zeilenumbruch
Das folgende Codebeispiel zeigt, wie Sie den Text in einem Word Dokument suchen und durch einen Absatzumbruch ersetzen.
// Laden Sie ein Word-DOCX-Dokument
Document doc = new Document("document.docx");
// Optionen festlegen
FindReplaceOptions options = new FindReplaceOptions();
// Deaktivieren Sie die Groß und Kleinschreibung und suchen Sie nur nach ganzen Wörtern
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// Text durch Absatzumbruch ersetzen
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Speichern Sie das Word Dokument
doc.save("Find-And-Replace-Text.docx");
Das Folgende ist der Screenshot des ausgegebenen Word Dokuments.
Fazit
In diesem Artikel haben Sie gesehen, wie Sie Text in Word DOC/DOCX Dokumenten programmgesteuert mit Java suchen und ersetzen. Verschiedene Szenarien zum Suchen und Ersetzen von Text in MS Word DOCX Dateien wurden mit Hilfe von Codebeispielen behandelt. Weitere Informationen zu Aspose.Words for Java finden Sie in der Dokumentation.