Знайдіть і замініть текст у Word за допомогою Python

Досить часто вам потрібно замінити певний текст або фразу в документах Word. MS Word має вбудовану функцію для таких випадків, і ви можете замінити потрібний текст одним клацанням миші. У цій статті ви дізнаєтеся, як програмно знаходити та замінювати текст у документах Word за допомогою Python. Це може бути корисним, коли вам потрібно замінити текст у купі документів. Крім того, ви можете вбудувати цю функцію у свої програми Python, щоб цензурувати документи Word перед загальним доступом.

Бібліотека Python для заміни тексту в документах Word

Щоб знайти та замінити текст у файлах DOCX або DOC, ми будемо використовувати Aspose.Words for Python. Це багатофункціональна бібліотека Python, яка дозволяє легко створювати документи MS Word і працювати з ними. Ви можете встановити бібліотеку з PyPI за допомогою такої команди pip.

pip install aspose-words

Пошук і заміна тексту в документі Word за допомогою Python

Нижче наведено кроки для пошуку та заміни тексту в документі Word за допомогою Python.

  • Завантажте документ за допомогою класу Document.
  • Використовуйте метод Document.range.replace(string, string, aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)), щоб замінити текст.
  • Збережіть оновлений документ за допомогою методу Document.save(string).

У наведеному нижче прикладі коду показано, як замінити певний текст у документі DOCX за допомогою Python.

import aspose.words as aw

# завантажити документ Word
doc = aw.Document("document.docx")

# замінити текст
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# зберегти змінений документ
doc.save("updated.docx")

Нижче наведено вхідний документ Word, який ми використовували в цьому прикладі.

Введіть документ Word

Введіть документ Word

Нижче наведено оновлений документ Word після заміни тексту.

Замініть текст у документі Word за допомогою Python

Оновлений документ Word після заміни тексту

Замінюйте текст у документах Word за допомогою регулярного виразу

У деяких випадках ви можете замінити текст, який відповідає певному шаблону. Наприклад, ви можете пропустити адреси електронної пошти, написані в документах, перш ніж ділитися ними в Інтернеті. Для таких випадків ви можете вказати регулярний вираз, щоб замінити відповідний текст. Нижче наведено кроки для заміни тексту в документах Word на основі регулярного виразу.

  • Завантажте документ за допомогою класу Document.
  • Створіть об’єкт класу FindReplaceOptions.
  • Замініть текст на основі регулярного виразу за допомогою методу Document.range.replaceregex(string, string, FindReplaceOptions).
  • Збережіть оновлений документ за допомогою методу Document.save(string).

У наведеному нижче прикладі коду показано, як замінити текст у документі Word за допомогою регулярного виразу.

import aspose.words as aw

# завантажити документ Word
doc = aw.Document("document.docx")

# замінити текст за допомогою RegEx
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)

# зберегти змінений документ
doc.save("updated.docx")

Нижче наведено знімок екрана документа Word після заміни тексту за допомогою регулярного виразу.

Замініть текст у Word за допомогою Regex

Python: заміна тексту в документах Word за допомогою метасимволів

У деяких випадках фрагмент тексту може складатися з різних абзаців, розділів або сторінок. Щоб замінити такі фрази, потрібно використовувати наступні метасимволи.

  • &p для розриву абзацу
  • &b для розриву розділу
  • &m для розриву сторінки
  • &l для розриву рядка

У наведеному нижче прикладі коду показано, як використовувати метасимволи для пошуку та заміни тексту в документах Word.

import aspose.words as aw

# завантажити документ Word
doc = aw.Document("document.docx")

# створювати варіанти
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER

# подвоїть кожен розрив абзацу після слова "розділ", додайте підкреслення та зробіть його по центру.
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)

# вставити розрив розділу замість спеціального текстового тегу.
count = doc.range.replace("insert-section", "&b", findReplaceOptions)

# зберегти змінений документ
doc.save("updated.docx")

Докладніше про пошук і заміну тексту в документах Word за допомогою Python.

Отримайте безкоштовну ліцензію API

Ви можете отримати тимчасову ліцензію, щоб використовувати Aspose.Words for Python без оціночних обмежень.

Висновок

У цій статті ви дізналися, як знаходити та замінювати текст у документах Word за допомогою Python. Крім того, ви також бачили, як використовувати RegEx і метасимволи для заміни тексту в документах Word. Окрім цього, ви можете дослідити інші функції, які пропонує Aspose.Words for Python, використовуючи документацію. Також ви можете опублікувати свої запитання на нашому форумі.

Дивись також

Інформація: Aspose нещодавно розробив безкоштовний онлайн-сервіс Text to GIF, який дозволяє вам анімувати тексти або генерувати GIF-файли з простих текстів.