Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.words 最新下载(qun:761297826)https://www.evget.com/product/4116/download
在本文中,我将演示如何使用 Java 以编程方式查找和替换 Word (DOC/DOCX) 文档中的文本。分步指南和代码示例将涵盖在 Word 文档中查找和替换文本的各种情况。
MS Word 提供了一种查找和替换文档中文本的简便方法。查找和替换文本的一种流行用例是在文档中的敏感信息在不同实体之间共享之前删除或替换它们。但是,手动过程可能需要您安装 MS Word 并单独更新每个文档。在这种情况下,它会方便又省时,尤其是当您在桌面或 Web 应用程序中集成了查找和替换功能时。因此,让我们开始了解如何在各种场景中使用 Java 查找和替换 Word 文档中的文本。
用于在 Word 文档中查找和替换文本的 Java API
为了实现查找和替换功能,我们将使用Aspose.Words for Java,这是一个功能强大、功能丰富且易于使用的 Java 平台文字处理 API。您可以下载其 JAR 或使用以下配置将其安装在基于 Maven 的应用程序中。
存储库:
AsposeJavaAPI Aspose Java API https://repository.aspose.com/repo/
依赖:
com.aspose aspose-words 20.5 jdk17
使用 Java 查找和替换 Word 文档 (DOC/DOCX) 中的文本
让我们从解决一个简单的查找和替换场景开始,我们将在输入的 Word 文档中找到单词“Sad”。以下是执行此操作的步骤。
以下代码示例显示如何使用 Java 查找和替换 Word DOCX 文档中的文本。
// Load a Word DOCX document Document doc = new Document("document.docx"); // Find and replace text in the document doc.getRange().replace("sad", "[replaced]", new FindReplaceOptions(FindReplaceDirection.FORWARD)); // Save the Word document doc.save("Find-And-Replace-Text.docx");
下面是我们在本文中使用的输入 Word 文档。
以下是查找并替换单词“sad”后的输出。
使用 Java 查找和替换 Word DOC/DOCX 中的相似词
您还可以自定义 API 以根据相似性查找和替换文本。例如,单词“sad”、“mad”和“bad”遵循以“ad”结尾的类似模式。电子邮件 ID 是此类文本的另一个示例。在这种情况下,您可以定义一个正则表达式模式来查找和替换所有出现的具有特定模式的文本。以下是实现此目的的步骤。
以下代码示例展示了如何使用 Java 根据特定模式查找和替换相似词。
// Load a Word DOCX document Document doc = new Document("document.docx"); // Find and replace similar words in the document FindReplaceOptions options = new FindReplaceOptions(); doc.getRange().replace(Pattern.compile("[B|S|M]ad"), "[replaced]", options); // Save the Word document doc.save("Find-And-Replace-Text.docx");
以下是更新相似词后的Word文档截图。
替换 Word 文档页眉/页脚中的文本
Aspose.Words 还允许您仅在 Word 文档的页眉/页脚中查找和替换文本。以下是执行此操作的步骤。
以下代码示例显示了如何使用 Java 查找和替换 Word 文档页眉/页脚中的文本。
// Load a Word DOCX document Document doc = new Document("document.docx"); // Access header footer collection HeaderFooterCollection headersFooters = doc.getFirstSection().getHeadersFooters(); HeaderFooter footer = headersFooters.get(HeaderFooterType.FOOTER_PRIMARY); // Set find and replace options FindReplaceOptions options = new FindReplaceOptions(); options.setMatchCase(false); options.setFindWholeWordsOnly(false); footer.getRange().replace("This is footer of the document.", "Copyright (C) 2020 by Aspose Pty Ltd.", options); // Save the Word document doc.save("Find-And-Replace-Text.docx");
以下屏幕截图显示了 Word 文档页脚中的更新文本。
使用 Java 在 Word DOCX 中查找和替换带有元字符的文本
当您需要查找和替换分为多行或多段的短语时,可能会出现这种情况。在这种情况下,您必须注意段落、部分或换行符。Aspose.Words for Java 使您可以轻松轻松地处理此类情况。以下是可用于不同中断的元字符:
&p : 分段符
&b : 分节符
&m : 分页符
&l:换行符
下面的代码示例演示了如何在 Word 文档中查找和替换带有段落分隔符的文本。
// Load a Word DOCX document Document doc = new Document("document.docx"); // Set options FindReplaceOptions options = new FindReplaceOptions(); // Disable matching case and finding whole words only options.setMatchCase(false); options.setFindWholeWordsOnly(false); // Replace text with paragraph break doc.getRange().replace("First paragraph ends.&pSecond paragraph starts.", "[replaced]", options); // Save the Word document doc.save("Find-And-Replace-Text.docx");
下面是输出的Word文档的截图。
以上便是使用 Java 查找和替换 Word 文档中的文本 ,要是您还有其他关于产品方面的问题,欢迎咨询我们,或者加入我们官方技术交流群。