Znajdź i zamień tekst w programie Word przy użyciu języka Python

Dość często trzeba zastąpić określony tekst lub frazę w dokumentach Worda. MS Word ma wbudowaną funkcję dla takich przypadków i jednym kliknięciem możesz zastąpić żądany tekst. W tym artykule dowiesz się, jak programowo znaleźć i zamienić tekst w dokumentach Worda za pomocą Python. Może to być przydatne, gdy trzeba zamienić tekst w kilku dokumentach. Możesz także osadzić tę funkcję w swoich aplikacjach Python, aby cenzurować dokumenty Worda przed udostępnieniem.

Biblioteka Python do zastępowania tekstu w dokumentach Worda

Aby znaleźć i zamienić tekst w plikach DOCX lub DOC, użyjemy Aspose.Words for Python. Jest to bogata w funkcje biblioteka Python, która umożliwia bezproblemowe tworzenie i manipulowanie dokumentami MS Word. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia pip.

pip install aspose-words

Znajdź i zamień tekst w dokumencie programu Word za pomocą Python

Poniżej przedstawiono kroki, aby znaleźć i zamienić tekst w dokumencie programu Word przy użyciu języka Python.

  • Załaduj dokument przy użyciu klasy Document.
  • Użyj metody Document.range.replace(string, string, aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)), aby zamienić tekst.
  • Zapisz zaktualizowany dokument przy użyciu metody Document.save(string).

Poniższy przykładowy kod pokazuje, jak zamienić określony tekst w dokumencie DOCX za pomocą języka Python.

import aspose.words as aw

# załaduj dokument Worda
doc = aw.Document("document.docx")

# zastąpić tekst
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# zapisz zmodyfikowany dokument
doc.save("updated.docx")

Poniżej znajduje się wejściowy dokument programu Word, którego użyliśmy w tym przykładzie.

Poniżej znajduje się zaktualizowany dokument programu Word po zastąpieniu tekstu.

Zastąp tekst w dokumencie Word za pomocą Python

Zaktualizowany dokument programu Word po zastąpieniu tekstu

Zamień tekst w dokumentach programu Word za pomocą wyrażenia regularnego

W niektórych przypadkach możesz chcieć zastąpić tekst pasujący do określonego wzorca. Na przykład możesz chcieć pominąć adresy e-mail zapisane w dokumentach przed udostępnieniem ich online. W takich przypadkach można określić wyrażenie regularne w celu zastąpienia pasujących wystąpień tekstu. Poniżej przedstawiono kroki zastępowania tekstu w dokumentach programu Word na podstawie wyrażenia regularnego.

  • Załaduj dokument przy użyciu klasy Document.
  • Utwórz obiekt klasy FindReplaceOptions.
  • Zamień tekst na podstawie wyrażenia regularnego przy użyciu metody Document.range.replaceregex(string, string, FindReplaceOptions).
  • Zapisz zaktualizowany dokument przy użyciu metody Document.save(string).

Poniższy przykładowy kod pokazuje, jak zamienić tekst w dokumencie programu Word przy użyciu wyrażenia regularnego.

import aspose.words as aw

# załaduj dokument Worda
doc = aw.Document("document.docx")

# zamień tekst za pomocą RegEx
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)

# zapisz zmodyfikowany dokument
doc.save("updated.docx")

Poniżej znajduje się zrzut ekranu dokumentu programu Word po zastąpieniu tekstu za pomocą wyrażenia regularnego.

Zastąp tekst w programie Word za pomocą wyrażenia regularnego

Python: Zamień tekst w dokumentach programu Word za pomocą metaznaków

W niektórych przypadkach fragment tekstu może składać się z różnych akapitów, sekcji lub stron. Aby zastąpić takie frazy, musisz użyć następujących metaznaków.

  • &p dla podziału akapitu
  • &b dla podziału sekcji
  • &m dla podziału strony
  • &l dla przerwania wiersza

Poniższy przykładowy kod pokazuje, jak używać metaznaków do znajdowania i zastępowania tekstu w dokumentach programu Word.

import aspose.words as aw

# załaduj dokument Worda
doc = aw.Document("document.docx")

# tworzyć opcje
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER

# podwój każdy podział akapitu po słowie „sekcja”, dodaj rodzaj podkreślenia i ustaw go na środku.
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)

# wstaw podział sekcji zamiast niestandardowego znacznika tekstowego.
count = doc.range.replace("insert-section", "&b", findReplaceOptions)

# zapisz zmodyfikowany dokument
doc.save("updated.docx")

Czytaj więcej o znajdowaniu i zastępowaniu tekstu w dokumentach programu Word przy użyciu języka Python.

Uzyskaj bezpłatną licencję API

Możesz uzyskać tymczasową licencję, aby używać Aspose.Words for Python bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak znajdować i zastępować tekst w dokumentach programu Word za pomocą języka Python. Oprócz tego widziałeś również, jak używać RegEx i metaznaków do zastępowania tekstu w dokumentach Worda. Poza tym możesz zapoznać się z innymi funkcjami oferowanymi przez Aspose.Words for Python, korzystając z dokumentacji. Możesz także zadawać pytania na naszym forum.

Zobacz też

Informacja: Firma Aspose niedawno opracowała bezpłatną usługę online Text to GIF, która umożliwia animowanie tekstów lub generowanie GIF-ów z prostych tekstów.