[英]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 replace
用ctrl + f search and replace
Search for
框中輸入^[ \\t]+
: regular expressions
replace all
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.