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.

Znajdź i zamień tekst 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.

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ę.

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.

znajdź i zamień tekst w DOCX za pomocą Java

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

znajdź i zamień słowo

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ąć.

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.

znajdź i zamień podobne słowa za pomocą języka Java

Aspose.Words pozwala również znaleźć i zamienić tekst tylko w nagłówku/stopce dokumentu Word. Poniżej przedstawiono kroki, aby wykonać tę operację.

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 w stopce

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.

znajdź i zamień tekst na metaznaki

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.

Zobacz też