Hitta och ersätt text i Word med Python

Ganska ofta behöver du ersätta en viss text eller fras i Word-dokumenten. MS Word har en inbyggd funktion för sådana fall och du kan byta ut önskad text med ett klick. I den här artikeln kommer du att lära dig hur du programmatiskt hittar och ersätter text i Word-dokument med Python. Detta kan vara användbart när du behöver ersätta text i ett gäng dokument. Du kan också bädda in den här funktionen i dina Python-applikationer för att censurera Word-dokumenten innan de delar.

Python-bibliotek för att ersätta text i Word-dokument

För att hitta och ersätta text i DOCX- eller DOC-filer kommer vi att använda Aspose.Words for Python. Det är ett funktionsrikt Python-bibliotek som låter dig skapa och manipulera MS Word-dokument sömlöst. Du kan installera biblioteket från PyPI med följande pip-kommando.

pip install aspose-words

Hitta och ersätt text i ett Word-dokument med Python

Följande är stegen för att hitta och ersätta text i ett Word-dokument med Python.

  • Ladda dokumentet med klassen Document.
  • Använd metoden Document.range.replace(sträng, sträng, aw.replacering.FindReplaceOptions(aw.replacering.FindReplaceDirection.FORWARD)) för att ersätta texten.
  • Spara det uppdaterade dokumentet med metoden Document.save(string).

Följande kodexempel visar hur man ersätter en viss text i ett DOCX-dokument med Python.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

# byt ut text
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# spara det ändrade dokumentet
doc.save("updated.docx")

Följande är indata Word-dokument som vi använde i det här exemplet.

Följande är det uppdaterade Word-dokumentet efter att texten ersatts.

Ersätt en text i Word-dokument med Python

Uppdaterat Word-dokument efter att ha ersatt text

Ersätt text i Word-dokument med hjälp av reguljära uttryck

I vissa fall kanske du vill byta ut texten som matchar ett visst mönster. Du kanske till exempel vill utelämna e-postadresserna som är skrivna i dokumenten innan du delar dem online. I sådana fall kan du ange ett reguljärt uttryck för att ersätta de matchande textförekomsterna. Följande är stegen för att ersätta text i Word-dokument baserat på ett reguljärt uttryck.

  • Ladda dokumentet med klassen Document.
  • Skapa ett objekt av klassen FindReplaceOptions.
  • Ersätt text baserat på reguljära uttryck med metoden Document.range.replaceregex(sträng, sträng, FindReplaceOptions).
  • Spara det uppdaterade dokumentet med metoden Document.save(string).

Följande kodexempel visar hur du ersätter text i ett Word-dokument med ett reguljärt uttryck.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

# ersätt text med RegEx
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)

# spara det ändrade dokumentet
doc.save("updated.docx")

Följande är skärmdumpen av Word-dokumentet efter att ha ersatt text med ett RegEx.

Ersätt text i Word med Regex

Python: Ersätt text i Word-dokument med hjälp av metatecken

I vissa fall kan ett stycke text bestå av olika stycken, avsnitt eller sidor. För att ersätta sådana fraser måste du använda följande metatecken.

  • &p för en styckebrytning
  • &b för en avsnittsbrytning
  • &m för en sidbrytning
  • &l för en radbrytning

Följande kodexempel visar hur du använder metatecken för att hitta och ersätta text i Word-dokument.

import aspose.words as aw

# ladda Word-dokument
doc = aw.Document("document.docx")

# skapa alternativ
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER

# dubbla varje styckebrytning efter ordet "avsnitt", lägg till en typ av understrykning och gör den centrerad.
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)

# infoga avsnittsbrytning istället för anpassad texttagg.
count = doc.range.replace("insert-section", "&b", findReplaceOptions)

# spara det ändrade dokumentet
doc.save("updated.docx")

Läs mer om att hitta och ersätta text i Word-dokument med Python.

Skaffa en gratis API-licens

Du kan skaffa en tillfällig licens för att använda Aspose.Words för Python utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du hittar och ersätter text i Word-dokument med Python. Utöver det har du också sett hur du använder RegEx och metatecken för att ersätta text i Word-dokument. Förutom detta kan du utforska andra funktioner som erbjuds av Aspose.Words for Python med hjälp av dokumentationen. Du kan också ställa dina frågor på vårt forum.

Se även

Info: Aspose utvecklade nyligen en gratis onlinetjänst Text till GIF som låter dig animera texter eller generera GIF-filer från enkla texter.