Aspose.Words for .NET查找和替换教程——查找或替换特定字符串
2023-09-11 14:14:49 时间
Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
接下来我们将进入“查找和替换”的介绍,在Aspose.Words中查找或替换当前范围内的特定字符串。
使用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;
}
相关文章
- 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到SUSE Linux Enterprise Server 12 SP2 64 位(GNOME 版本3.20.2)
- 使用 Visual Studio 部署 .NET Core 应用 ——.Net Core 部署到Ubuntu 16.04
- 进入ASP .net mvc的世界
- .Net魔法堂:史上最全的ActiveX开发教程——部署篇
- .Net魔法堂:史上最全的ActiveX开发教程——ActiveX与JS间交互篇
- ASP.NET的Web网页如何进行分页操作(Demo举例)
- .NET(C#) Internals: as a developer, .net framework in my eyes
- .Net(c#)加密解密工具类:
- ASP.NET Core错误处理中间件[3]: 异常处理器
- ABAP事务码SAT里的Gross time and net time
- 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍
- 常见掌握类库与工具体系图 艾提拉总结 Atitit 文档资料处理重要类库与工具体系树 Configuration yml xml jsoup Net apache commons net
- Atitit ..Net Framework sdk 3.0 3.5 4.04.5 4.6 4.7 .net core版本新特性 v2 s22 1. 新特性来源于 down ms 官方网站1
- Atitit ..Net Framework sdk 3.0 3.5 4.04.5 4.6 4.7 .net core版本新特性 v2 s22 1. 新特性来源于 down ms 官方网站1
- 【习题 6-7 UVA - 804】Petri Net Simulation
- 电话语音控件:AddTapi.NET 6.0 Crack
- ASP.NET Web Forms - 教程
- net start mysql 无法启动mysql解决方案之一【NET HELPMSG 3534】
- 高考后能学习——阿里云-winserver服务器购买以及使用(包含【.Net】、【PHP】、【MySQL】、【Navicat】、【Java】、安装)
- .net(c#)版RSA加密算法,拿走不谢
- .net如何向csv添加一列
- [转] .NET领域驱动设计—初尝(疑问、模式、原则、工具、过程、框架、实践)
- ASP.NET MVC 入门系列教程
- Net Core 微服务 - 如何在docker容器里运行一个简单的.net core web api 服务
- Dynamsoft Dynamic .NET TWAIN for net Crack
- ASP.NET Core微服务(六)——【.Net Core操作redis】StackExchange.Redis