簡體   English   中英

創建一個jEdit宏,找出SearchAndReplace寫入緩沖區的實例數量的正確方法是什么

[英]Creating a jEdit macro, what is the proper way to find out how many instances SearchAndReplace wrote into a buffer

我正在嘗試在jEdit中創建一個宏。 我正在嘗試緩沖區中每一行的開頭刪除所有空白 這是我嘗試執行的jEdit宏(即Java)代碼:

textArea.goToBufferStart(false);
//Set up SearchAndReplace defaults
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setWholeWord(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(true);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());

public int replace(String from, String to) {
  //must be reg-ex escaped prior to call
  SearchAndReplace.setSearchString(from);
  SearchAndReplace.setReplaceString(to);
  return SearchAndReplace.replaceAll(view);
}

boolean done = false;
while (!done) {
  int count = replaced("\\n ", "\\n");
  found = (count > 0);
}

jEdit 5.0隨附的文檔表明,調用SearchAndReplace.replaceAll(view)返回發生替換的緩沖區數。 但是,當我執行它時,我收到一條錯誤消息,指示它沒有返回整數,而是一個布爾值。

如果它確實返回一個int會很好,但我希望能夠知道在特定緩沖區(我執行宏的唯一對象)內發生的替換的特定計數。

因此,我必須解決這個錯誤。 關於如何實現預期效果的任何建議,請從每一行的開頭刪除所有空格? 順便說一句,宏當前有意忽略第一行。 我知道這是一個缺陷,以后會予以糾正。

謝謝您給我的任何指示。

如果要從每一行的開頭刪除空格,只需

  • 打開search and replacectrl + f search and replace
  • Search for框中輸入^[ \\t]+
  • 檢查regular expressions
  • 點擊replace all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM