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 hitta och ersätta text i Word-dokument
- Hitta och ersätt text i ett Word-dokument
- Ersätt text i Word-dokument med hjälp av reguljära uttryck
- Ersätt text i Word-dokument med hjälp av metatecken
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 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.
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
- Konvertera Word-dokument till TIFF med Python
- Word-dokument till Markdown med Python
- Konvertera Word-dokument till HTML med Python
- Konvertera PDF-filer till Word-dokument i Python
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.