使用 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 文档。

标题Input Word Document

以下是替换文字后更新后的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。