Editor_BatchFindReplace

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

HRESULT Editor_BatchFindReplace( HWND hwnd, FIND_REPLACE_INFO* pBatchArray, UINT nBatchCount, UINT64 nBatchFlags, UINT64* pnTotalCount );

參數

hwnd

指定 EmEditor 視圖或框架的視窗控點。

pBatchArray

指針指向 FIND_REPLACE_INFO 結構

nBatchCount

指定在 pBatchArray 參數中指定的 FIND_REPLACE_INFO 結構的數量。

nBatchFlags

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

含義

FLAG_FIND_AROUND

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

FLAG_FIND_BOL

規則運算式 ‘^’ 可符合選取部分的開頭。

FLAG_FIND_BOOKMARK

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

FLAG_FIND_COUNT

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

FLAG_FIND_COUNT_FREQUENCY

根據抽出結果創建一個常用字串表。必須與 FLAG_FIND_EXTRACT 和 FLAG_FIND_OUTPUT_DISPLAY 結合使用。必須啟用視窗標籤頁。

FLAG_FIND_EMBEDDED_NL

在 CSV 文檔中只符合嵌入式換行,不符合其他換行。

FLAG_FIND_EOL

規則運算式 ‘$’ 可符合選取部分的末尾。

FLAG_FIND_EXTRACT

把符合的行抽出到一個新文檔中。

FLAG_FIND_FUZZY

使用模糊比對。

FLAG_FIND_LOOKAROUND

只在選區內進行規則運算式搜索時用合樣判斷提示。

FLAG_FIND_NEXT

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

FLAG_FIND_NO_PROMPT

即使未找到任何字串,也禁止顯示對話方塊。

FLAG_FIND_OPEN_DOC

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

FLAG_FIND_OUTPUT

在匯出欄中以清單形式顯示抽出結果。 必須與 FLAG_FIND_EXTRACT 結合使用。

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_SEPARATE_CRLF

區分 CR 和 LF 。

FLAG_FIND_SEL_ONLY

僅在選區內搜索。

FLAG_REPLACE_ALL

取代所有符合結果。

FLAG_REPLACE_SEL_ONLY

當與 FLAG_REPLACE_ALL 一起指定時,僅取代選區中的內容。

pnTotalCount

[out] 指定一個指向變數的指針,當 nBatchFlags 包含 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 19.9 或之後的版本。