Trova e sostituisci il testo in Word usando Python

Abbastanza spesso, è necessario sostituire un particolare testo o frase nei documenti di Word. MS Word ha una funzione integrata per questi casi e puoi sostituire il testo desiderato con un clic. In questo articolo imparerai come trovare e sostituire a livello di codice il testo nei documenti di Word usando Python. Questo potrebbe essere utile quando è necessario sostituire il testo in un gruppo di documenti. Inoltre, puoi incorporare questa funzionalità nelle tue applicazioni Python per censurare i documenti di Word prima della condivisione.

Libreria Python per sostituire il testo nei documenti di Word

Per trovare e sostituire il testo nei file DOCX o DOC, useremo Aspose.Words for Python. È una libreria Python ricca di funzionalità che ti consente di creare e manipolare documenti MS Word senza problemi. Puoi installare la libreria da PyPI usando il seguente comando pip.

pip install aspose-words

Trova e sostituisci testo in un documento di Word usando Python

Di seguito sono riportati i passaggi per trovare e sostituire il testo in un documento Word utilizzando Python.

  • Carica il documento utilizzando la classe Document.
  • Utilizzare il metodo Document.range.replace(string, string, aw.replaceing.FindReplaceOptions(aw.replaceing.FindReplaceDirection.FORWARD)) per sostituire il testo.
  • Salva il documento aggiornato utilizzando il metodo Document.save(string).

L’esempio di codice seguente mostra come sostituire un testo particolare in 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")

Quello che segue è il documento Word di input che abbiamo usato in questo esempio.

Quello che segue è il documento Word aggiornato dopo aver sostituito il testo.

Sostituisci un testo in un documento Word usando Python

Documento Word aggiornato dopo aver sostituito il testo

Sostituisci il testo nei documenti di Word usando l’espressione regolare

In alcuni casi, potresti voler sostituire il testo che corrisponde a un modello particolare. Ad esempio, potresti voler omettere gli indirizzi email scritti nei documenti prima di condividerli online. In questi casi, puoi specificare un’espressione regolare per sostituire le occorrenze di testo corrispondenti. Di seguito sono riportati i passaggi per sostituire il testo nei documenti di Word in base a un’espressione regolare.

  • Carica il documento utilizzando la classe Document.
  • Crea un oggetto della classe FindReplaceOptions.
  • Sostituisci il testo in base all’espressione regolare utilizzando il metodo Document.range.replaceregex(string, string, FindReplaceOptions).
  • Salva il documento aggiornato utilizzando il metodo Document.save(string).

Nell’esempio di codice seguente viene illustrato come sostituire il testo in un documento di Word utilizzando un’espressione regolare.

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

Quello che segue è lo screenshot del documento di Word dopo aver sostituito il testo utilizzando un’espressione regolare.

Sostituisci il testo in Word usando Regex

Python: sostituisci il testo nei documenti di Word usando i metacaratteri

In alcuni casi, una parte di testo può essere composta da diversi paragrafi, sezioni o pagine. Per sostituire tali frasi, è necessario utilizzare i seguenti metacaratteri.

  • &p per un’interruzione di paragrafo
  • &b per un’interruzione di sezione
  • &m per un’interruzione di pagina
  • &l per un’interruzione di riga

Nell’esempio di codice seguente viene illustrato come utilizzare i metacaratteri per trovare e sostituire il testo nei documenti di 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")

Leggi di più su come trovare e sostituire il testo nei documenti di Word usando Python.

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea per utilizzare Aspose.Words per Python senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come trovare e sostituire il testo nei documenti di Word usando Python. Oltre a ciò, hai anche visto come utilizzare RegEx e metacaratteri per sostituire il testo nei documenti di Word. Oltre a questo, puoi esplorare altre funzionalità offerte da Aspose.Words per Python usando la documentazione. Inoltre, puoi pubblicare le tue domande sul nostro forum.

Guarda anche

Info: Aspose ha recentemente sviluppato un servizio online gratuito Text to GIF che consente di animare testi o generare GIF da testi semplici.