EditPlus 小技巧 去除多餘的換行

2022-02-08 20:34:08 字數 970 閱讀 1421

本來想寫個指令碼來去除這些多餘的換行,不過由於惰性,或者想殺雞焉用牛刀,想到了用編輯器。windows環境下面最喜歡的編輯器是editplus,就用它了。

要去除多餘的換行,最簡單的做法就是把所有的\r\n給替換成空字元(不是空白或者空格),但是這樣的乙個***是本來應該換行的地方也給去掉換行符了,整個txt檔案都成一行了,肯定也不行。我這裡想到的辦法是對換行符(\r\n)前的字元進行篩選,就是過濾掉「。」、「!」、「」」、「?」這些通常出現在句尾的標點符號出現在換行符前的情形。這樣做當然也不準確,乙個明顯的問題就是如果每段前有標題,那麼這個標題就被計入下一段的開頭了,不過對於**這個問題不是很大,一般閱讀過程中可以識別出來,而且解決起來也不甚方便,付出和收益不是很合算,就不去管這個問題了。

按ctrl+h調出editplus的替換對話方塊,裡面有個「正規表示式」的核取方塊,這個肯定勾上。先嘗試發現換行符,在「查詢」旁邊的文字框輸入「\r\n」,結果沒有找到任何結果,查詢旁邊的下拉箭頭點一下出現乙個下拉列表,有個「換行符」的選項,點一下後在查詢文字框自動新增了「\n」,於是嘗試用\n去查詢換行符,結果找到了。這裡檔案的換行符應該是\r\n,因為editplus狀態列顯示有個區域顯示的是pc,而不是unix或mac,表示了換行符型別是\r\n。而為什麼通過\n才能找到呢?我猜是editplus為了實現對對多平台檔案編輯而對換行符在正規表示式裡進行了抽象統一。而後進行過濾,把\n改成[^。」!?]\n,這樣可以查詢到所有「想要」去除的換行符,但是這樣查詢的結果是把換行符前的乙個字元也給包含了。於是想到了正規表示式裡面的group,不知道editplus支不支援regexp的group,嘗試了一番,最後還是通過點選查詢和替換輸入框右邊的下拉列表的一些啟發找到了group替換(editplus裡面叫做標記表示式)的辦法,即把([^。」!?])\n替換為\1,如下圖:

點選全部替換就完成了。editplus不負眾望,馬到成功。

巧用EditPlus刪除文件多餘空行

從網上收集的文章大多有大量 多餘的空行,佔據了許多篇幅,如果需要列印就非常浪費紙張。想要 刪除這些空行,可是這些空行要麼不包含任何字元,要麼包含了許多 空格 製表符 tab 如果文章比較長,那麼手工刪除空行就成為一件頗費精力的事情。難道就沒有別的 辦法?當然有!我們可以借助文字編輯器軟體editpl...

去除多餘元素

5.統計試卷名稱為 鷹牌 東鵬瓷磚8月活動方案試卷 的考試情況.輸出以下資訊 考試者 真實姓名 正確率 交卷時間,以 的形式輸出.如出現多次作答情況 姓名相同 取最高分 如正確率低於80,以紅色字型輸出 資料表 yjt ksjg erp表單 合作夥伴 考試結果 date get select arr...

C vector swap 去除多餘容量

今天在查詢swap 函式的時候,發現了swap 函式居然可以用來減少vector容器的大小,眾所周知,vector的容器的大小只可以增加,不可以減少。當我們使用push back insert emplace 等成員方法的時候,有可能會增加容量,但是我們使用 pop back erase clear...