W tym artykule pokażę, jak znaleźć i zamienić tekst w dokumentach programu Word (DOC/DOCX) programowo przy użyciu języka Java. Przewodnik krok po kroku i przykłady kodu obejmują różne scenariusze znajdowania i zastępowania tekstu w dokumentach programu Word.

MS Word zapewnia łatwy sposób znajdowania i zastępowania tekstu w dokumentach. Jednym z popularnych zastosowań znajdowania i zastępowania tekstu może być usuwanie lub zastępowanie poufnych informacji w dokumentach, zanim zostaną one udostępnione różnym podmiotom. Jednak proces ręczny może wymagać zainstalowania MS Word i aktualizacji każdego dokumentu osobno. W takich sytuacjach byłoby to przydatne i oszczędzające czas, zwłaszcza gdy zintegrowałeś funkcje znajdowania i zastępowania w swoim komputerze stacjonarnym lub aplikacji internetowej. Zacznijmy więc i zobaczmy, jak znaleźć i zamienić tekst w dokumentach programu Word przy użyciu języka Java w różnych scenariuszach.
- Znajdź i zamień tekst w programie Word DOC/DOCX przy użyciu języka Java
- Zamień podobne słowa na podstawie wzorca wyrażenia regularnego w programie Word DOC/DOCX
- Znajdź i zamień tekst w nagłówku/stopce dokumentu programu Word
- Znajdź i zamień tekst na metaznaki w Word DOC/DOCX
Java API do znajdowania i zastępowania tekstu w dokumentach programu Word
Aby zaimplementować funkcję znajdowania i zastępowania, użyjemy Aspose.Words for Java, który jest potężnym, bogatym w funkcje i łatwym w użyciu interfejsem API edytora tekstu dla platformy Java. Możesz pobrać jego plik JAR lub zainstalować go w swojej aplikacji opartej na Maven, korzystając z poniższych konfiguracji.
Magazyn:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Zależność:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>20.5</version>
<classifier>jdk17</classifier>
</dependency>
Znajdź i zamień tekst w dokumentach programu Word (DOC/DOCX) przy użyciu języka Java
Zacznijmy od rozwiązania prostego scenariusza znajdowania i zastępowania, w którym znajdziemy słowo „Smutny” w wejściowym dokumencie programu Word. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz instancję klasy Document i przekaż do niej ścieżkę dokumentu Worda.
- Znajdź i zamień tekst za pomocą metody Document.getRange.replace(String, String, FindReplaceOptions).
- Zapisz dokument metodą Document.save(String).
Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst w dokumentach Word DOCX przy użyciu języka Java.
// Załaduj dokument Word DOCX
Document doc = new Document("document.docx");
// Znajdź i zamień tekst w dokumencie
doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD));
// Zapisz dokument Worda
doc.save("Find-And-Replace-Text.docx");
Poniżej znajduje się wejściowy dokument programu Word, którego użyliśmy w tym artykule.

Poniżej przedstawiono dane wyjściowe po znalezieniu i zastąpieniu słowa „smutny”.

Znajdź i zamień podobne słowa w programie Word DOC/DOCX przy użyciu języka Java
Możesz także dostosować interfejs API, aby wyszukiwać i zamieniać tekst na podstawie podobieństwa. Na przykład słowa „smutny”, „wściekły” i „zły” mają podobny wzór, który kończy się na „reklama”. Identyfikatory e-mail to kolejny przykład takiego tekstu. W takich przypadkach można zdefiniować wzorzec wyrażenia regularnego, aby znaleźć i zamienić wszystkie wystąpienia tekstu mające określony wzorzec. Poniżej przedstawiono kroki, aby to osiągnąć.
- Utwórz instancję klasy Document i przekaż do niej ścieżkę dokumentu Worda.
- Zdefiniuj wzorzec wyrażenia regularnego za pomocą metody Pattern.compile() i przekaż go do metody Document.getRange().replace(Pattern pattern, String replacement, FindReplaceOptions options).
- Zapisz zaktualizowany dokument metodą Document.save(String).
Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić podobne słowa na podstawie określonego wzorca przy użyciu języka Java.
// Załaduj dokument Word DOCX
Document doc = new Document("document.docx");
// Znajdź i zamień podobne słowa w dokumencie
FindReplaceOptions options = new FindReplaceOptions();
doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options);
// Zapisz dokument Worda
doc.save("Find-And-Replace-Text.docx");
Poniżej znajduje się zrzut ekranu dokumentu programu Word po zaktualizowaniu podobnych słów.

Zamień tekst w nagłówku/stopce dokumentu programu Word
Aspose.Words pozwala również znaleźć i zamienić tekst tylko w nagłówku/stopce dokumentu Word. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Utwórz instancję klasy Document i przekaż do niej ścieżkę dokumentu Worda.
- Pobierz HeaderFooterCollection dokumentu za pomocą metody Document.getFirstSection().getHeadersFooters().
- Pobierz konkretny nagłówek/stopkę w obiekcie HeaderFooter.
- Użyj metody HeaderFooter.getRange().replace(), aby znaleźć i zamienić tekst.
- Zapisz zaktualizowany dokument programu Word.
Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst w nagłówku/stopce dokumentu programu Word przy użyciu języka Java.
// Załaduj dokument Word DOCX
Document doc = new Document("document.docx");
// Uzyskaj dostęp do kolekcji stopek nagłówka
HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters();
HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY);
// Ustaw opcje znajdowania i zastępowania
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);
// Zapisz dokument Worda
doc.save("Find-And-Replace-Text.docx");
Poniższy zrzut ekranu przedstawia zaktualizowany tekst w stopce dokumentu programu Word.

Znajdź i zamień tekst na metaznaki w programie Word DOCX przy użyciu języka Java
Może się zdarzyć, że trzeba będzie znaleźć i zamienić frazę podzieloną na wiele wierszy lub akapitów. W takich przypadkach będziesz musiał zadbać o podział akapitu, sekcji lub wiersza. Aspose.Words dla Javy ułatwia radzenie sobie z takimi przypadkami. Poniżej znajdują się metaznaki, których możesz użyć do różnych przerw:
- &p: podział akapitu
- &b: podział sekcji
- &m: podział strony
- &l: podział wiersza
Poniższy przykładowy kod pokazuje, jak znaleźć i zamienić tekst na podział akapitu w dokumencie programu Word.
// Załaduj dokument Word DOCX
Document doc = new Document("document.docx");
// Ustaw opcje
FindReplaceOptions options = new FindReplaceOptions();
// Wyłącz dopasowywanie wielkości liter i znajdowanie tylko całych słów
options.setMatchCase(false);
options.setFindWholeWordsOnly(false);
// Zastąp tekst podziałem akapitu
doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// Zapisz dokument Worda
doc.save("Find-And-Replace-Text.docx");
Poniżej znajduje się zrzut ekranu wyjściowego dokumentu programu Word.

Wniosek
W tym artykule dowiesz się, jak znaleźć i zamienić tekst w dokumentach Word DOC/DOCX programowo przy użyciu języka Java. Różne scenariusze znajdowania i zastępowania tekstu w plikach MS Word DOCX zostały omówione za pomocą przykładów kodu. Możesz dowiedzieć się więcej o Aspose.Words dla Javy z dokumentacji.