使用 Python 在 Word 中查找和替換文本

通常,您需要替換 Word 文檔中的特定文本或短語。 MS Word 有針對此類情況的內置功能,您可以一鍵替換所需的文本。在本文中,您將學習如何使用 Python 以編程方式查找和替換 Word 文檔中的文本。當您需要替換一堆文檔中的文本時,這可能很有用。此外,您可以將此功能嵌入到您的 Python 應用程序中,以便在共享之前檢查 Word 文檔。

用於替換 Word 文檔中文本的 Python 庫

要查找和替換 DOCX 或 DOC 文件中的文本,我們將使用 Aspose.Words for Python。它是一個功能豐富的 Python 庫,允許您無縫地創建和操作 MS Word 文檔。您可以使用以下 pip 命令從 PyPI 安裝庫。

pip install aspose-words

使用 Python 在 Word 文檔中查找和替換文本

以下是使用 Python 在 Word 文檔中查找和替換文本的步驟。

  • 使用 Document 類加載文檔。
  • 使用 Document.range.replace(string, string, aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)) 方法替換文本。
  • 使用 Document.save(string) 方法保存更新的文檔。

以下代碼示例展示瞭如何使用 Python 替換 DOCX 文檔中的特定文本。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

# 替換文字
doc.range.replace("sad", "[replaced]", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

# 保存修改後的文件
doc.save("updated.docx")

以下是我們在此示例中使用的輸入 Word 文檔。

以下是替換文字後更新後的Word文檔。

使用 Python 替換 Word 文檔中的文本

替換文本後更新 Word 文檔

使用正則表達式替換 Word 文檔中的文本

在某些情況下,您可能想要替換與特定模式匹配的文本。例如,您可能希望在在線共享文檔之前省略文檔中寫入的電子郵件地址。對於這種情況,您可以指定一個正則表達式來替換匹配的文本。以下是基於正則表達式替換 Word 文檔中文本的步驟。

  • 使用 Document 類加載文檔。
  • 創建 FindReplaceOptions 類的對象。
  • 使用 Document.range.replaceregex(string, string, FindReplaceOptions) 方法根據正則表達式替換文本。
  • 使用 Document.save(string) 方法保存更新的文檔。

以下代碼示例顯示如何使用正則表達式替換 Word 文檔中的文本。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

# 使用 RegEx 替換文本
options = aw.replacing.FindReplaceOptions()
doc.range.replace_regex("[s|m]ad", "bad", options)

# 保存修改後的文檔
doc.save("updated.docx")

以下是使用 RegEx 替換文本後的 Word 文檔的屏幕截圖。

使用正則表達式替換 Word 中的文本

Python:使用元字符替換 Word 文檔中的文本

在某些情況下,一段文本可能由不同的段落、部分或頁面組成。要替換此類短語,您需要使用以下元字符。

  • &p 換段
  • &b 用於分節符
  • &m 換頁
  • &l 換行

下面的代碼示例演示如何使用元字符查找和替換 Word 文檔中的文本。

import aspose.words as aw

# 加載Word文檔
doc = aw.Document("document.docx")

# 創建選項
findReplaceOptions = aw.replacing.FindReplaceOptions()
findReplaceOptions.apply_paragraph_format.alignment = aw.ParagraphAlignment.CENTER

# 在單詞“section”之後將每個段落打斷兩次,添加一種下劃線並使其居中。
count = doc.range.replace("section&p", "section&p----------------------&p", findReplaceOptions)

# 插入分節符而不是自定義文本標記。
count = doc.range.replace("insert-section", "&b", findReplaceOptions)

# 保存修改後的文檔
doc.save("updated.docx")

閱讀更多 關於使用 Python 在 Word 文檔中查找和替換文本。

獲取免費的 API 許可證

您可以獲得臨時許可,以便在沒有評估限制的情況下使用 Aspose.Words for Python。

結論

在本文中,您學習瞭如何使用 Python 在 Word 文檔中查找和替換文本。除此之外,您還了解瞭如何使用 RegEx 和元字符替換 Word 文檔中的文本。除此之外,您可以使用 文檔 探索 Aspose.Words for Python 提供的其他功能。此外,您可以在我們的 論壇 上發布您的問題。

也可以看看

信息:Aspose 最近開發了一項免費的在線 Text to GIF 服務,允許您將文本動畫化或從簡單文本生成 GIF。