Buscar y reemplazar texto en Word usando Python

Muy a menudo, debe reemplazar un texto o frase en particular en los documentos de Word. MS Word tiene una función integrada para estos casos y puede reemplazar el texto deseado con un solo clic. En este artículo, aprenderá a buscar y reemplazar texto mediante programación en documentos de Word usando Python. Esto podría ser útil cuando necesite reemplazar texto en un montón de documentos. Además, puede incorporar esta función en sus aplicaciones de Python para censurar los documentos de Word antes de compartirlos.

Biblioteca de Python para reemplazar texto en documentos de Word

Para buscar y reemplazar texto en archivos DOCX o DOC, usaremos Aspose.Words for Python. Es una biblioteca de Python rica en funciones que le permite crear y manipular documentos de MS Word sin problemas. Puede instalar la biblioteca desde PyPI usando el siguiente comando pip.

pip install aspose-words

Buscar y reemplazar texto en un documento de Word usando Python

Los siguientes son los pasos para buscar y reemplazar texto en un documento de Word usando Python.

  • Cargue el documento usando la clase Document.
  • Use el método Document.range.replace(string, string, aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)) para reemplazar el texto.
  • Guarde el documento actualizado usando el método Document.save(string).

El siguiente ejemplo de código muestra cómo reemplazar un texto en particular en un documento DOCX usando 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")

El siguiente es el documento de Word de entrada que usamos en este ejemplo.

Input Word Document

El siguiente es el documento de Word actualizado después de reemplazar el texto.

Reemplazar un texto en un documento de Word usando Python

Documento de Word actualizado después de reemplazar el texto

Reemplazar texto en documentos de Word usando expresiones regulares

En ciertos casos, es posible que desee reemplazar el texto que coincida con un patrón en particular. Por ejemplo, es posible que desee omitir las direcciones de correo electrónico escritas en los documentos antes de compartirlos en línea. Para tales casos, puede especificar una expresión regular para reemplazar las ocurrencias de texto coincidentes. Los siguientes son los pasos para reemplazar texto en documentos de Word basados en una expresión regular.

  • Cargue el documento usando la clase Document.
  • Cree un objeto de la clase FindReplaceOptions.
  • Reemplazar texto basado en expresiones regulares usando el método Document.range.replace\regex(string, string, FindReplaceOptions).
  • Guarde el documento actualizado usando el método Document.save(string).

El siguiente ejemplo de código muestra cómo reemplazar texto en un documento de Word usando una expresión regular.

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

La siguiente es la captura de pantalla del documento de Word después de reemplazar el texto usando RegEx.

Reemplazar texto en Word usando Regex

Python: reemplazar texto en documentos de Word usando metacaracteres

En algunos casos, un fragmento de texto puede estar compuesto por diferentes párrafos, secciones o páginas. Para reemplazar tales frases, debe usar los siguientes metacaracteres.

  • &p para un salto de párrafo
  • &b para un salto de sección
  • &m para un salto de página
  • &l para un salto de línea

El siguiente ejemplo de código muestra cómo usar metacaracteres para buscar y reemplazar texto en documentos de 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")

Leer más sobre cómo encontrar y reemplazar texto en documentos de Word usando Python.

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal para usar Aspose.Words for Python sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a buscar y reemplazar texto en documentos de Word usando Python. Además de eso, también ha visto cómo usar RegEx y metacaracteres para reemplazar texto en documentos de Word. Además de esto, puede explorar otras características que ofrece Aspose.Words for Python utilizando la documentación. Además, puede publicar sus preguntas en nuestro foro.

Ver también

Información: Aspose desarrolló recientemente un servicio gratuito en línea Text to GIF que le permite animar textos o generar GIF a partir de textos simples.