3 回答

TA貢獻2012條經(jīng)驗 獲得超12個贊
從Notepad ++ Version 6開始,您可以在搜索和替換對話框中使用此正則表達式:
^(.*?)$\s+?^(?=.*^\1$)
并且什么也沒有替換。這將從文件中最后一次出現(xiàn)的所有重復行中留下。
不需要排序,重復的行可以在文件中的任何位置!
您需要選中“正則表達式”和“。匹配換行符”選項:
^
匹配行的開頭。(.*?)
匹配任何字符0次或更多次,但盡可能少(它完全匹配行,因為“匹配換行”選項,這是必需的)。匹配的行被存儲,因為括號周圍和可訪問使用\1
$
匹配行的結(jié)尾。\s+?^
此部分匹配所有空白字符(換行符?。?,直到下一行的開頭==>這將刪除匹配行之后的換行符,以便在替換后沒有空行。(?=.*^\1$)
這是一個積極的前瞻性斷言。這是此正則表達式中的重要部分,只有在文件中的其他位置之后存在完全相同的行時,才會匹配(并刪除)行。

TA貢獻1796條經(jīng)驗 獲得超4個贊
Notepad ++可以執(zhí)行此操作,前提是您希望逐行排序,并同時刪除重復的行。
您將需要TextFX插件。這曾經(jīng)包含在舊版本的Notepad ++中,但如果您有更新的版本,可以通過轉(zhuǎn)到菜單中添加它Plugins -> Plugin Manager -> Show Plugin Manager -> Available tab -> TextFX -> Install
。在某些情況下,它也可能被調(diào)用TextFX Characters
,但這是一回事
該復選框和按鈕所需現(xiàn)在將出現(xiàn)在菜單下:TextFX -> TextFX Tools
。
確保選中“僅排序輸出唯一...”。接下來,選擇一個文本塊(Ctrl+ A以選擇整個文檔)。最后,單擊“排序區(qū)分大小寫”或“排序行不區(qū)分大小寫”
添加回答
舉報