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


QQ交談
在線咨詢

渝公網(wǎng)安備
50010702500608號(hào)

客服熱線