idea 正則全域性替換檔案文字

2021-09-05 12:15:52 字數 1170 閱讀 5266

因為專案原先採用的log4j,現使用log4j2,需將原有log4j的**進行替換,以前的**類似如下:

private static final logger logger = logge***ctory.getlogger(testcontroller.class);

logger.error(..)

1. 引入logutil類

通過分析,所有controlle層都加了@controller spring註解,一定引用了import org.springframework.stereotype.controller; 所以就對這個字串進行替換(mac快捷鍵shift+command+r,其他系統自行查詢快捷鍵,下面的操作都是mac 系統為例)

注意匹配要選擇regex

需要加入換行符,mac系統換行符為\n,

2. 刪除字串類似 private static final logger logger …

因為不同的controller類,該字串可能不一樣,**舉例如下:

private static final logger logger = logge***ctory.getlogger(testcontroller.class);

static final logger log = logge***ctory.getlogger(testcontroller.class);

private logger logger = logge***ctory.getlogger(getclass());

像這種情況,我們就需要用到正規表示式了,如下圖所示

3. 替換logger.info或者log.warn

最後需要將logger.info替換為logutil.controller.info或者logutil.controller.warn等,也採用正則匹配替換,如下所示:

sed替換文字

root localhost.localdomain home cat test 2 1492785988 int meta 0 nullable 0 is null 0 3 3598278656 longint meta 0 nullable 0 is null 0 要將test檔案中 2 149...

replace 替換文字

var test text.innerhtml b test.replace 任曉強 g,你好 console.log b html 任曉強去吃飯,任曉強去開車,任曉強去上班 正則 任曉強 g可替換所有任曉強,任曉強 只可替換第乙個任曉強。var test text.innerhtml b test...

Linux vi 替換文字內容

利用 s 命令可以實現字串的替換。具體的用法包括 s str1 str2 用字串 str2 替換行中首次出現的字串 str1 s str1 str2 g 用字串 str2 替換行中所有出現的字串 str1 s str1 str2 g 用字串 str2 替換正文當前行到末尾所有出現的字串 str1 1...