Editor_FindReplace

搜索或取代一個字串。你能直接用該內嵌函式或明確地發送 EE_FIND_REPLACE 消息。

HRESULT Editor_FindReplace( HWND hwnd, UINT64 nFlags, LPCWSTR pszFind, LPCWSTR pszReplace, UINT64* pnCount, UINT64* pnMatchedLines );

參數

hwnd

指定 EmEditor 視圖或框架的視窗控制代碼。

nFlags

[in] 指定一個下列值的組合。

含義

FLAG_FIND_AROUND

移動到文字的開始/結束處。

FLAG_FIND_BOOKMARK

在有符合的字串的行上設置書籤。

FLAG_FIND_CASE

區分大小寫。

FLAG_FIND_COUNT

計算符合字串的出現次數。

FLAG_FIND_EMBEDDED_NL

符合 CSV 文檔中的內嵌新行,不符合其他換行符。

FLAG_FIND_ESCAPE

使用逸出序列。

FLAG_FIND_EXTRACT

把符合的行提取到一個新的文檔中。

FLAG_FIND_FUZZY

使用模糊比對。

FLAG_FIND_NEXT

從游標處往下搜索字串。如果沒有設置該標志,則往上搜索字串。

FLAG_FIND_NO_OVERLAP

尋找下一個或上一個符合項時,排除重疊字串。

FLAG_FIND_NO_PROMPT

禁止顯示對話方塊即使沒有找到任何字串。

FLAG_FIND_ONLY_WORD

符合整個單字。

FLAG_FIND_OPEN_DOC

在同一個方塊架視窗中,搜索所有打開的文檔。

FLAG_FIND_REG_EXP

使用規則運算式。

FLAG_FIND_REGEX_BOOST

把 Boost.Regex 作為規則運算式引擎。

FLAG_FIND_REGEX_ONIGMO

把 Onigmo 作為規則運算式引擎,Ruby 語法。

FLAG_FIND_REGEX_ONIGMO_PERL

使用 Onigmo 作為規則運算式引擎,Perl 語法。

FLAG_FIND_SAVE_HISTORY

為重複搜索儲存搜索過的字串。

FLAG_FIND_SELECT_ALL

選擇所有符合的字串。

FLAG_FIND_SEPARATE_CRLF

區分 CR 和 LF 。

FLAG_FIND_SEL_ONLY

僅搜索選區。

FLAG_REPLACE_ALL

取代所有符合結果。

FLAG_REPLACE_SEL_ONLY

當被用 FLAG_REPLACE_ALL 指定時,僅在選區中取代。

pszFind

[in] 指定要搜索的字串。

pszReplace

[in] 指定要取代的字串。如果不取代的話,這個值必須是 NULL 。

pnCount

[out] 指定指針指向接收符合次數的值,當 nFlags 包括 FLAG_FIND_COUNT,FLAG_FIND_BOOKMARK,FLAG_FIND_SELECT_ALL,FLAG_FIND_EXTRACT 或 FLAG_FIND_FILTER。

pnMatchedLines

[out] 指定指針指向接收符合行數的值當 nFlags 包括 FLAG_FIND_COUNT,FLAG_FIND_BOOKMARK,FLAG_FIND_SELECT_ALL,FLAG_FIND_EXTRACT 或 FLAG_FIND_FILTER。

返回值

如果找到搜索字串,返回 S_OK。如果找不到則返回 S_FALSE。如果發生錯誤,返回值是負數。如果一個使用者取消搜索,負數值包含 E_ABORT,如果發生嚴重錯誤,返回 E_FAIL。

版本

支持 Version 15.7 或之後的版本。