Aspose.Words for .NET查找和替換教程——查找或替換特定字符串
Aspose.Words For .Net是一種高級Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
接下來我們將進入“查找和替換”的介紹,在Aspose.Words中查找或替換當前范圍內(nèi)的特定字符串。
>>Aspose.Words for .NET更新至最新版v19.10,歡迎下載體驗
10月優(yōu)惠進行時——購買Aspose系列產(chǎn)品可享限時優(yōu)惠!更多活動詳情可咨詢在線客服哦~
使用Range.Replace查找或替換當前范圍內(nèi)的特定字符串。它返回已進行的替換的次數(shù),因此對于搜索沒有替換的字符串很有用。 該Range.Replace 方法提供幾個重載。他們提供了以下可能性:
- 可以指定要替換的字符串,將替換所有出現(xiàn)的字符串,替換是否區(qū)分大小寫以及是否僅影響獨立單詞。請注意,單詞被定義為僅由字母數(shù)字字符組成。如果僅在整個單詞匹配的情況下執(zhí)行了替換操作,并且輸入字符串恰好包含符號,那么將找不到任何短語。
- 可以傳遞用于查找匹配項的正則表達式模式以及將替換它們的字符串。此重載替換了正則表達式捕獲的整個匹配項。
- 可以傳遞正則表達式模式和實現(xiàn)IReplacingCallback接口的對象。
以下示例顯示如何使用上述重載。示例類提供了方法,每個方法都使用Range.Replace重載:
- 示例1只是將所有出現(xiàn)的單詞“ sad”替換為“ bad”。
- 示例2將所有出現(xiàn)的單詞“ sad”或“ mad”替換為“ bad”。
- 示例3使用替換評估程序方法將單詞“ sad”或“ bad”的出現(xiàn)與每次發(fā)現(xiàn)新出現(xiàn)時遞增的計數(shù)器值連接起來。
示例一:用另一個單詞替換一個單詞
//文檔目錄的路徑。 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技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。
如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~