editplus和ultraedit刪除空行(ultraedit其它常用正規表示式替換)

shwenwen發表於2012-05-24

透過正規表示式匹配,editplus和ultraedit刪除空行

[@more@]

有時候我們千辛萬苦地找到一篇文章,卻有大量多餘的空行,佔據了許多篇幅,如果需要列印就非常浪費紙張。想要刪除這些空行,可是這些空行要麼不包含任何字元,要麼包含了許多空格、製表符(Tab)。如果文章比較長,那麼手工刪除空行就成為一件頗費精力的事情。難道就沒有別的辦法?當然有!
  我們可以藉助文字編輯器軟體EditPlus、UltraEdit實現。EditPlus、UltraEdit是常見的共享軟體,幾乎所有軟體下載網站都提供下載。由於EditPlus的操作更容易上手,但UltraEdit更為常用,所以本文先介紹在EditPlus中的操作,再介紹UltraEdit。

  一、在EditPlus中刪除空行

  啟動EditPlus,開啟待處理的檔案。需要注意,必須是純文字檔案,如果是Word文件,需要先貼上到純文字檔案中。然後,步驟如下:

  1.選擇Search選單的Replace命令,出現如圖所示的文字替換對話方塊。選中Regular expression(正規表示式)核取方塊,表明我們要在查詢、替換中使用正規表示式。然後,選中Replace all range中的Current file,表明對當前檔案操作(技巧提示:可以同時開啟多個檔案進行操作,在這裡選中“All open files”)。

  空行正規表示式:^[ t]*n  
2.單擊Find what組合框右側的按鈕 ,出現下拉選單,如下圖所示。選單命令中,本文用得著的命令依次是:Tab Character(製表符)、New Line(新行/換行符)、Character in Range(指定範圍內的字元)、Beginning of Line(行開始)、0 or More Matches(0個或多個符合條件的項)。

  

  下面的操作新增正規表示式,該表示式代表待查詢的空行。(技巧提示:空行僅包括空格符、製表符、回車符,且必須以這三個符號之一作為一行的開頭,並且以回車符結尾,查詢空行的關鍵是構造代表空行的正規表示式)。

  (1)選擇Beginning of Line,則Find what組合框中出現字元“^”,表示待查詢的字串必須出現在文字中一行的行首,才符合條件。

  (2)選擇Character in Range,“^”後增加一對括號“[]”,當前插入點在括號中。括號在正規表示式中表示,文字中的字元匹配括號中任意一個字元即符合查詢條件。

  (3)按一下空格鍵,新增空格符。空格符是空行的一個組成成分。

  (4)選擇Tab Character,新增代表製表符的“ ”。

  (5)移動游標,將當前插入點移到“]”之後,然後選擇0 or More Matches,新增了星號字元“*”。星號表示,其前面的括號“[]”內的空格符或製表符,在一行中出現0個或多個。

  (6)選擇New Line,插入“ ”,表示回車符。

  至此,正規表示式構造成功(如下圖)。

  

  3.Replace with組合框保持空,表示刪除查詢到的內容。單擊Replace按鈕逐個行刪除空行,或單擊Replace All按鈕刪除全部空行(注意:EditPlus和UltraEdit均存在Replace All不能一次性完全刪除空行的問題,可能是程式BUG,需要多按幾次按鈕)。

  對於熟悉EditPlus的朋友,可以直接在Find what中輸入正規表示式^[ ]* ,注意 前有空格符。

  二、在UltraEdit中刪除空行

  使用UltraEdit的原理一樣,但是UltraEdit沒有提供選單方式,所以需要手工輸入正規表示式,而且UltraEdit的正規表示式符號與EditPlus不同。

  用UltraEdit開啟檔案後,選擇Search選單的Replace命令。在Replace對話方塊中,選中Regular Expression核取方塊,並在Find what中輸入:%[ ^t]++^p,注意^t之前有空格。該表示式字元含義與EditPlus的相對應。然後,單擊Start或Replace All按鈕,進行替換刪除空行。

刪除空行: 替換 %[ ^t]++^p 為 空串

刪除行尾空格: 替換 [ ^t]+$ 為 空串

刪除行首空格: 替換 %[ ^t]+ 為 空串

每行設定為固定的4個空格開頭: 替換 %[ ^t]++^([~ ^t^p]^) 為 " ^1"

每段設定為固定的4個空格開頭: 替換 %[ ^t]+ 為 " "
(如果一行是以空格開始的,則視之為一段的開始行)

將一段合併為一行: 替換 [ ^t]++^p^([~ ^t^p]^) 為 ^1
(注意: 此處假定文字是以DOS方式回車換行 - CR/LF)

去掉HTML TAG: 替換 ^{^}^{^} 為 空串

刪除HTML中的所有: 替換 為 空串

刪除文字中指定的前2列字元: 替換 %?? 為 空串

在第4列後插入2列空白字元: 替換 %^(????^)^(?^) 為 "^1 ^2"

查詢所有的數字: [0-9]+[.]++[0-9]+

查詢所有的單詞: [a-z]+

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/143526/viewspace-1058327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章