Rechercher et remplacer du texte dans Word à l'aide de Python

Très souvent, vous devez remplacer un texte ou une phrase particulière dans les documents Word. MS Word a une fonctionnalité intégrée pour de tels cas et vous pouvez remplacer le texte souhaité en un seul clic. Dans cet article, vous apprendrez à rechercher et à remplacer par programme du texte dans des documents Word à l’aide de Python. Cela peut être utile lorsque vous devez remplacer du texte dans un tas de documents. De plus, vous pouvez intégrer cette fonctionnalité dans vos applications Python pour censurer les documents Word avant de les partager.

Bibliothèque Python pour remplacer du texte dans des documents Word

Pour rechercher et remplacer du texte dans des fichiers DOCX ou DOC, nous utiliserons Aspose.Words for Python. Il s’agit d’une bibliothèque Python riche en fonctionnalités qui vous permet de créer et de manipuler des documents MS Word de manière transparente. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande pip suivante.

pip install aspose-words

Rechercher et remplacer du texte dans un document Word à l’aide de Python

Voici les étapes pour rechercher et remplacer du texte dans un document Word à l’aide de Python.

  • Chargez le document à l’aide de la classe Document.
  • Utilisez la méthode Document.range.replace(string, string, aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)) pour remplacer le texte.
  • Enregistrez le document mis à jour à l’aide de la méthode Document.save(string).

L’exemple de code suivant montre comment remplacer un texte particulier dans un document DOCX à l’aide de 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")

Voici le document Word d’entrée que nous avons utilisé dans cet exemple.

Voici le document Word mis à jour après avoir remplacé le texte.

Remplacer un texte dans un document Word à l'aide de Python

Document Word mis à jour après avoir remplacé le texte

Remplacer du texte dans des documents Word à l’aide d’une expression régulière

Dans certains cas, vous souhaiterez peut-être remplacer le texte qui correspond à un modèle particulier. Par exemple, vous pouvez omettre les adresses e-mail écrites dans les documents avant de les partager en ligne. Dans de tels cas, vous pouvez spécifier une expression régulière pour remplacer les occurrences de texte correspondantes. Voici les étapes pour remplacer du texte dans des documents Word en fonction d’une expression régulière.

  • Chargez le document à l’aide de la classe Document.
  • Créez un objet de la classe FindReplaceOptions.
  • Remplacez le texte en fonction d’une expression régulière à l’aide de la méthode Document.range.replaceregex(string, string, FindReplaceOptions).
  • Enregistrez le document mis à jour à l’aide de la méthode Document.save(string).

L’exemple de code suivant montre comment remplacer du texte dans un document Word à l’aide d’une expression régulière.

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")

Voici la capture d’écran du document Word après avoir remplacé le texte à l’aide d’un RegEx.

Remplacer du texte dans Word à l'aide de Regex

Python : remplacer du texte dans des documents Word à l’aide de métacaractères

Dans certains cas, un morceau de texte peut être composé de différents paragraphes, sections ou pages. Pour remplacer ces phrases, vous devez utiliser les métacaractères suivants.

  • &p pour un saut de paragraphe
  • &b pour un saut de section
  • &m pour un saut de page
  • &l pour un saut de ligne

L’exemple de code suivant montre comment utiliser des métacaractères pour rechercher et remplacer du texte dans des documents 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")

En savoir plus sur la recherche et le remplacement de texte dans des documents Word à l’aide de Python.

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire afin d’utiliser Aspose.Words for Python sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à rechercher et à remplacer du texte dans des documents Word à l’aide de Python. En plus de cela, vous avez également vu comment utiliser RegEx et les métacaractères pour remplacer du texte dans des documents Word. En plus de cela, vous pouvez explorer d’autres fonctionnalités offertes par Aspose.Words for Python en utilisant la documentation. Vous pouvez également poster vos questions sur notre forum.

Voir également

Info : Aspose a récemment développé un service Text to GIF en ligne gratuit qui permet d’animer des textes ou de générer des GIF à partir de textes simples.