
Довольно часто возникает необходимость заменить тот или иной текст или фразу в документах Word. В MS Word есть встроенная функция для таких случаев, и вы можете заменить нужный текст одним щелчком мыши. В этой статье вы узнаете, как программно находить и заменять текст в документах Word с помощью Python. Это может быть полезно, когда вам нужно заменить текст в куче документов. Кроме того, вы можете внедрить эту функцию в свои приложения Python, чтобы подвергать цензуре документы Word перед отправкой.
- Библиотека Python для поиска и замены текста в документах Word
- Найти и заменить текст в документе Word
- Заменить текст в документах Word с помощью регулярного выражения
- Замена текста в документах 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
# load Word document
doc = aw.Document("document.docx")
# replace text
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))
# save the modified document
doc.save("updated.docx")
Ниже приведен входной документ Word, который мы использовали в этом примере.

Input Word Document
Ниже представлен обновленный документ Word после замены текста.

Обновленный документ Word после замены текста
Заменить текст в документах Word с помощью регулярного выражения
В некоторых случаях может потребоваться заменить текст, соответствующий определенному шаблону. Например, вы можете опустить адреса электронной почты, указанные в документах, прежде чем публиковать их в Интернете. В таких случаях вы можете указать регулярное выражение для замены совпадающих вхождений текста. Ниже приведены шаги по замене текста в документах Word на основе регулярного выражения.
- Загрузите документ, используя класс Document.
- Создайте объект класса FindReplaceOptions.
- Замените текст на основе регулярного выражения, используя метод Document.range.replaceregex(string, string, FindReplaceOptions).
- Сохраните обновленный документ с помощью метода Document.save(string).
В следующем примере кода показано, как заменить текст в документе Word с помощью регулярного выражения.
import aspose.words as aw
# load Word document
doc = aw.Document("document.docx")
# replace text using RegEx
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)
# save the modified document
doc.save("updated.docx")
Ниже приведен снимок экрана документа Word после замены текста с помощью RegEx.

Python: замена текста в документах Word с помощью метасимволов
В некоторых случаях фрагмент текста может состоять из разных абзацев, разделов или страниц. Чтобы заменить такие фразы, вам нужно использовать следующие метасимволы.
- &p для разрыва абзаца
- &b для разрыва раздела
- &m для разрыва страницы
- &l для разрыва строки
В следующем примере кода показано, как использовать метасимволы для поиска и замены текста в документах Word.
import aspose.words as aw
# load Word document
doc = aw.Document("document.docx")
# create options
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER
# double each paragraph break after word "section", add kind of underline and make it centered.
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)
# insert section break instead of custom text tag.
count = doc.range.replace("insert-section", "&b", findReplaceOptions)
# save the modified document
doc.save("updated.docx")
Подробнее о поиске и замене текста в документах Word с помощью Python.
Получите бесплатную лицензию API
Вы можете получить временную лицензию, чтобы использовать Aspose.Words for Python без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как находить и заменять текст в документах Word с помощью Python. В дополнение к этому вы также видели, как использовать RegEx и метасимволы для замены текста в документах Word. Помимо этого, вы можете изучить другие функции, предлагаемые Aspose.Words для Python, используя документацию. Также вы можете задавать свои вопросы на нашем форуме.
Смотрите также
- Преобразование документов Word в TIFF с помощью Python
- Документы Word в Markdown с использованием Python
- Преобразование документа Word в HTML с помощью Python
- Преобразование PDF-файлов в документ Word в Python
Информация: Aspose недавно разработала бесплатный онлайн-сервис Text to GIF, который позволяет анимировать тексты или создавать GIF-файлы из простых текстов.