Aspose.Words for .NET查找和替换教程——查找或替换特定字符串
Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
接下来我们将进入“查找和替换”的介绍,在Aspose.Words中查找或替换当前范围内的特定字符串。
>>Aspose.Words for .NET更新至最新版v19.10,欢迎下载体验
10月优惠进行时——购买Aspose系列产品可享限时优惠!更多活动详情可哦~
使用Range.Replace查找或替换当前范围内的特定字符串。它返回已进行的替换的次数,因此对于搜索没有替换的字符串很有用。 该Range.Replace 方法提供几个重载。他们提供了以下可能性:
- 可以指定要替换的字符串,将替换所有出现的字符串,替换是否区分大小写以及是否仅影响独立单词。请注意,单词被定义为仅由字母数字字符组成。如果仅在整个单词匹配的情况下执行了替换操作,并且输入字符串恰好包含符号,那么将找不到任何短语。
- 可以传递用于查找匹配项的正则表达式模式以及将替换它们的字符串。此重载替换了正则表达式捕获的整个匹配项。
- 可以传递正则表达式模式和实现IReplacingCallback接口的对象。
以下示例显示如何使用上述重载。示例类提供了方法,每个方法都使用Range.Replace重载:
- 示例1只是将所有出现的单词“ sad”替换为“ bad”。
- 示例2将所有出现的单词“ sad”或“ mad”替换为“ bad”。
- 示例3使用替换评估程序方法将单词“ sad”或“ bad”的出现与每次发现新出现时递增的计数器值连接起来。
示例一:用另一个单词替换一个单词
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_FindAndReplace(); string fileName = "Document.doc"; Document doc = new Document(dataDir + fileName); doc.Range.Replace("sad", "bad", new FindReplaceOptions(FindReplaceDirection.Forward)); dataDir = dataDir + "ReplaceWithString_out.doc"; doc.Save(dataDir);
示例二:用彼此替换两个相似的单词
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_FindAndReplace(); Document doc = new Document(dataDir + "Document.doc"); FindReplaceOptions options = new FindReplaceOptions(); doc.Range.Replace(new Regex("[s|m]ad"), "bad", options); dataDir = dataDir + "ReplaceWithRegex_out.doc"; doc.Save(dataDir);
示例三:使用自定义评估程序
//文档目录的路径。 string dataDir = RunExamples.GetDataDir_FindAndReplace(); Document doc = new Document(dataDir + "Range.ReplaceWithEvaluator.doc"); FindReplaceOptions options = new FindReplaceOptions(); options.ReplacingCallback = new MyReplaceEvaluator(); doc.Range.Replace(new Regex("[s|m]ad"), "", options); dataDir = dataDir + "Range.ReplaceWithEvaluator_out.doc"; doc.Save(dataDir);
private class MyReplaceEvaluator : IReplacingCallback { ////// This is called during a replace operation each time a match is found. /// This method appends a number to the match string and returns it as a replacement string. ///ReplaceAction IReplacingCallback.Replacing(ReplacingArgs e) { e.Replacement = e.Match.ToString() + mMatchNumber.ToString(); mMatchNumber++; return ReplaceAction.Replace; } private int mMatchNumber; }
还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
如果您对Aspose有任何需求和疑难,记得扫描下方二维码告诉我们哦~