Word处理控件Aspose.Words功能演示:使用 C# .NET 在 Word 文档中查找和替换文本

Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,

Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

Aspose.words 最新下载(群号:761297826)https://www.evget.com/product/564/download

查找和替换是 MS Word 的一项非常有用的功能,可以快速定位和替换文档中所需的文本。当您处理较长的文档时,它变得更加方便和省时。如果您需要在数百个 Word 文档中查找和替换文本,或者您需要自动化此过程,您肯定会选择以编程方式进行。因此,在本文中,我将向您展示如何使用 C# 在不同的场景中以编程方式查找和替换 Word 文档中的文本。阅读本文后,您将能够:

  • 使用 C# 在 Word DOC/DOCX 中查找和替换文本
  • 在 Word 文档中查找和替换相似词
  • 使用正则表达式查找和替换文本
  • 在 Word 文档的页眉/页脚中查找和替换文本
  • 在 Word 文档中查找并用元字符替换文本

用于在 Word 文档中查找和替换文本的 C# 库

首先,在 Visual Studio 中创建一个新的 C# 项目(Console、ASP.NET 等)并通过 NuGet 包管理器或包管理器控制台安装 Aspose.Words for .NET。

通过 NuGet 包管理器安装

通过包管理器控制台安装

PM> Install-Package Aspose.Words

在我们为 .NET 安装 Aspose.Words 之后,现在让我们开始在以下 Word 文档中查找和替换文本。

在 C# 中查找和替换 Word 文档中的文本

以下是使用 Aspose.Words for .NET 在 Word 文档中查找和替换特定文本的步骤。

  • 创建 Document 类的实例并使用 Word 文档的路径进行初始化。
  • 使用 Document.Range.Replace(string, string, FindReplaceOptions) 方法查找和替换文本。
  • 使用 Document.Save(string) 方法保存文档。

FindReplaceOptions 类提供了各种选项来自定义查找/替换操作。以下代码示例演示如何使用 C# 在 Word 文档中查找和替换特定单词或字符串。

// 加载 Word docx 文档
Document doc = new Document("document.docx");
// 查找和替换文档中的文本
doc.Range.Replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.Forward));
// 保存 Word 文档
doc.Save("Find-And-Replace-Text.docx");

输出

使用 C# 查找和替换 Word 文档中的相似词

您还可以自定义 API 以查找相似词并将其替换为特定词。例如,您可以找到单词“sad”和“mad”并将它们替换为单个单词。以下代码示例展示了如何使用 C# 在 Word 文档中查找和替换相似的单词。

// 加载 Word docx 文档
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.MatchCase = true;
// 查找和替换文档中的文本
doc.Range.Replace(new Regex("[B|S|M]ad"), "[replaced]", options);
// 保存 Word 文档
doc.Save("Find-And-Replace-Multiple-Words.docx");

输出

在 C# 中使用正则表达式查找和替换文本

当您想要查找和替换以特定模式出现的文本时,可能会出现这种情况。例如,您需要隐藏/替换 Word 文档中的所有电子邮件 ID。在这种情况下,您可以为电子邮件 ID 创建一个正则表达式并将其传递给 Document.Range.Replace(Regex, string, FindReplaceOptions) 方法。

下面的代码示例演示如何根据 Word 文档中的模式查找和替换文本。

// 加载 Word docx 文档
Document doc = new Document("document.docx");
FindReplaceOptions options = new FindReplaceOptions();
options.FindWholeWordsOnly = true;
// 为电子邮件 ID 设置正则表达式
Regex EmailRegex = new Regex(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
// 查找和替换文档中的文本
doc.Range.Replace(EmailRegex, "[replaced]", options);
// 保存 Word 文档
doc.Save("Find-And-Replace-Text-Using-Regex.docx");

输出

使用 C# 在 Word 文档的页眉/页脚中查找和替换文本

您还可以使用 HeaderFooter 类查找和替换 Word 文档的页眉或页脚部分中的文本。 HeaderFooter.Range.Replace(string, string, FindReplaceOptions) 方法用于此目的。以下代码示例展示了如何在 C# 中替换 Word 文档的页眉/页脚中的文本。

// 加载 Word 文档
Document doc = new Document("document.docx");
// 访问 Word 文档的页眉/页脚
HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters;
HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
// 设置选项
FindReplaceOptions options = new FindReplaceOptions
{
MatchCase = false,
FindWholeWordsOnly = false
};
// 替换 Word 文档页脚中的文本
footer.Range.Replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options);
// 保存 Word 文档
doc.Save("Find-And-Replace-Text-in-Footer.docx");

输出

使用 C# 在 Word 文档中使用元字符查找和替换文本

可能存在特定文本或短语由多个段落、部分或页面组成的场景。在这种情况下,简单的查找和替换方法将无法有效工作,我们将不得不处理分节符、分节符或分页符。为此,Aspose.Words 允许您在搜索字符串或替换字符串中使用以下元字符:

  • &p: 分节符
  • &b:分节符
  • &m: 分页符
  • &l: 换行符

下面的代码示例演示如何在 Word 文档中查找和替换带有分节符的文本。

// 加载 Word docx 文档
Document doc = new Document("document.docx");
// 设置选项
FindReplaceOptions options = new FindReplaceOptions
{
MatchCase = false,
FindWholeWordsOnly = false
};
// 用分节符替换文本
doc.Range.Replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options);
// 保存 Word 文档
doc.Save("Find-And-Replace-Text-Paragraph-Break.docx");

输出

以上便是如何使用C#在不同的场景中以编程方式查找和替换 Word 文档中的文本。要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。

猜你喜欢

转载自blog.csdn.net/m0_67129275/article/details/130105204