無論我們想替換或刪除關鍵詞或內容,在做這一波操作之前,我們都需要正確地定位到我們的關鍵對象,也就是對關鍵對象進行有效地匹配。
如何做到有效地“匹配”
匹配單個關鍵詞
這也是最簡單的匹配,直接打開查找替換窗口,輸入關鍵詞即可
場景延伸:
- 可為關鍵詞添加標記,進而可挑選出關鍵詞所在的行內容
匹配多個關鍵詞
為了避免單個單個關鍵詞多次查找,可選用正則表達式來一次性查找。
使用場景:
where\s|from\s
,匹配where與from,\s
可匹配空格.*_max|.*_min
,匹配末尾是_max
x或_min
的內容
這個熟悉正則表達式也會比較容易。
匹配位置
行尾行首
使用場景:
我們經常遇到需要在行尾添加或刪除標點符號,又或者用引號將每行內容引起來等問題,解決辦法也有很多,如按住alt切換為列模式,添加標點符號,也可以將內容復制到Excel,在每行末尾拼接標點符號。而在notepad++中也很容易實現。
$
匹配到每行的末尾位置,行尾定位符^
匹配到每行的行首位置,行首定位符
方法延伸:
- 采用列模式(按住alt編輯即可切換為列模式),對行首位置進行操作非常高效,比如批量添加序號
- 標題欄操作,移除行尾行首空格
行尾多個字符
使用場景:
遇到刪除末尾的關鍵詞,刪除末尾后四位的字符等等,通常可以這樣匹配。
針對已知字符
0200$
,匹配每行末尾的0200內容_res|_dup$
,匹配每行以_res
或_dup
結尾的內容
針對未知字符
.{4}$
,匹配末尾的四個字符。這里的.
表示任意字符,{4}
表示重復4次,$
行尾定位符
行中某一字符的前后位置
使用場景:
需要刪除某一關鍵詞前后的內容,遇到某一關鍵詞就換一行等等,這種情況可能會稍微復雜。
.*,
,匹配逗號前面的內容,(.*)
,替換為\n$1
,將逗號后面的內容,換到下一行
匹配換行符
使用場景:
將多行內容,合並為一行顯示;遇到句號就換行顯示等
\r\n
,匹配末尾的換行符,\r
匹配到CR符號,\n
匹配到LF符號,
替換為,\n
,逗號后面的內容,換一行顯示
匹配后的“增刪改+標記”操作
定位到我們的關鍵對象之后,我們可以在替換框進行刪除、替換、增添內容,也可以標記所在行,對標記的行內容進行復制粘貼的操作。
如果大家只是偶爾用到notepad++,那標題欄下面的功能,基本就能滿足我們的日常工作了,同時軟件官網也會提供大量的使用指南。
閱讀更多:
參考:
- 同樣有列模式操作的軟件 UltraEdit編輯器
- 正則表達式 操作指南