在線刪除空白行,只要將純文字貼到 Remove Empty Lines 工具中,選擇哪些列算作空白,然後在瀏覽器中於本地端處理文字即可。預設的「僅含空白字元」設定會移除一般的空行,以及整行僅由可辨識的空白字元(包括空格、Tab 鍵字元、不中斷空格,以及瀏覽器可處理的其他 Unicode 空白字元)所組成的行。當只應移除零長度的行時,請停用此選項;在該嚴格模式下,即使某行含有一個空格或 Tab 鍵字元,也會予以保留。每個被保留的列其內容皆完整保留:前置縮排、尾端空格或 Tab 鍵字元、內部重複的空格、標點符號、字母大小寫,以及 Unicode 字元皆不會被更動。輸出結果不會重新排版,摘要資訊會告知您移除了多少輸入行以及保留了多少行。輸入最多可達 1,000,000 個 UTF-16 字碼單元,完全空白的輸入會被拒絕。實際目標是移除多餘的垂直空隙,同時確認每個有意義的行皆能保留,並確認行尾標準化方式對目標用途而言是可接受的。
看似空白的行未必真的為空:編輯器與試算表可能會在原本看不見的行上留下縮排。這就是為什麼「僅含空白字元」的移除選項預設為啟用。當這些行屬於有意義的來源記錄,或必須在後續診斷流程中保持可見時,請使用嚴格模式。在任一模式下,每一個符合條件的空白行皆會被刪除,而不會被合併成單一空白分隔行。

選擇哪些行算作空白
此模式針對每一個完整的行做出單一決定。它不會改變被保留行內容的儲存或顯示方式。
| 模式 | 被移除的行 | 被保留的行 | 最佳適用情境 |
|---|---|---|---|
| 僅含空白字元(預設啟用) | 零長度的行,以及在經過 Unicode 感知修剪後變為空白的行,包括由空格、Tab 鍵字元、不中斷空格或其他可辨識空白字元所組成的行。 | 每一個含有非空白字元內容的行,其所有字元皆保持不變。 | 當看似空白的行中殘留的空格或 Tab 鍵字元也應一併被移除時,適用於視覺上的整理。 |
| 嚴格的「僅空行」模式 | 僅有零個字碼單元的行會被移除。 | 含有一個空格、一個 Tab 鍵字元或其他空白字元的行會保留其原始內容。 | 適用於來源資料中僅含縮排的行,或必須保留「空白與純空白差異」的可見性時。 |
「僅含空白字元」的規則遵循瀏覽器的 Unicode 感知修剪行為,相關說明請參閱 MDN 的 String.trim 文件。切換模式並不會導致被保留的行被修剪;它僅會改變哪些候選空白行會通過移除測試。
在線刪除空白行
- 貼上文字。開啟 Remove Empty Lines 並貼上含有您想移除空白行的純文字。散文、清單、設定區塊、記錄檔、程式碼片段,以及匯出的值皆可作為純文字進行處理。由於空白輸入會在處理前被拒絕,請勿提交完全空白的欄位。
- 選擇適當的空白行規則。保持「僅含空白字元」移除為啟用狀態,以移除一般空行以及含有空格、Tab 鍵字元或其他可辨識空白字元的視覺空白行。當僅應刪除真正的零長度行,且每個含空白字元的行皆必須保留時,請將其停用。
- 執行處理並驗證結果。執行處理作業,然後查看摘要中的「已移除行數」與「已保留行數」。在取代原始內容之前,請檢視產生的文字,特別留意開頭或結尾附近的縮排與連續空白行。
過濾流程會依照原始順序檢查每一個完整的行。它不會挑選要保留哪些空隙、不會將多個空白合併為一個,也不會插入替代的分隔行。更換輸入內容或模式會立即清除先前的輸出與計數,因此請在每次更動後檢視最新的結果。
保留被保留行的內容
此工具的變更僅限於移除符合所選空白行條件的完整行。一旦某行被保留,其字碼單元即保持不變。前置與尾端的空白字元、縮排、Tab 鍵字元、行內重複的空格、標點符號、字母大小寫,以及 Unicode 字元皆會與貼上時完全一致地保留下來。
- 被保留行內部的水平空白不會被合併。
- 散文不會被重新排版為不同的寬度或段落結構。
- 重複的行不會被移除,記錄也不會被排序。
- Unicode 不會被標準化或轉換為其他表示形式。
此工具無法理解程式語言、CSV 記錄或 JSON 字串的結構。特別是,它不會剖析含有內嵌換行的 CSV 欄位,也不會保護引號內 JSON 字串中的換行。它只會將內容視為瀏覽器中的純字串及其文件中定義的行邊界,而不考慮周圍的格式。
空白行可能有助於可讀性,或在原始程式碼中具有意義,因此在取代前請先檢視程式碼。如需以編輯器為導向的工作流程,請參閱 在 Visual Studio Code 中安全地移除空白行。
處理行尾與結尾空行
輸入分割器可辨識 CRLF、單獨的 CR 以及 LF 行尾。CRLF 會被視為單一邊界,而非兩個分開的換行。產生的輸出會以 LF 連接被保留的行,因此含有混合來源行尾的貼上內容會在結果中得到統一的邊界樣式。這會改變行尾樣式,但不會修剪或以其他方式重寫被保留行內部的內容。如需 JavaScript 字串分隔的背景知識,請參閱 MDN 的 String.split 文件。
輸入結尾處的行尾會產生一個最終空行,該行會在任一模式下被移除。前端的空行與連續的空白行會被個別處理並計入移除數量中。若某個特定格式的尾端換行具有語意上的重要性,請在使用前確認產生的結果。
檢查大小、空值與隱私
輸入上限為 1,000,000 個 UTF-16 字碼單元。剛好達到該上限的文字會被接受;多出一個字碼單元則會產生明顯的錯誤,且不會輸出部分結果。此工具不會抽樣、切片或在無聲的情況下截斷過大的文字。完全空白的輸入會被拒絕,但僅含空白字元的輸入則為有效輸入。當「僅含空白字元」移除為啟用狀態時,該輸入會產生空字串,並回報移除了 1 行。在嚴格的「僅空行」移除模式下,含空白字元的行會被保留。
行的過濾、計數與輸出的產生皆在瀏覽器中於本地端進行。內容不會被上傳、儲存或傳送至外部 API。在驗證輸入為非空白且符合大小限制後,實作會分割其行尾、評估每行的所選述詞、依序保留被保留的行、計算移除數量,並以 LF 連接被保留的值。
確認清理結果符合該格式
Remove Empty Lines 適用於含有不必要垂直空隙的貼上表格、Markdown 草稿、字幕片段、電子郵件清單、設定區塊、記錄檔,以及程式碼片段。它並非文件排版編輯器,也不是具備格式感知的剖析器。RTF、Word 文件、PDF 頁面、含有內嵌換行的 CSV 記錄,以及引號內的 JSON 字串,皆可能帶有此工具無法偵測的結構性意義。請先將此類素材轉換為合適的純文字表示形式,或在行結構超出單純文字邊界時,使用具備格式感知的編輯器。
請根據實際的清理目標來選擇作業。若任務是合併行而非刪除空白行,請使用 Line Break Remover。若問題在於重複的值而非空行,請使用 Remove Duplicate Lines。若任務確實是移除空白行,請保持選擇適當的模式、驗證已移除與已保留的數量,並在取代來源內容前檢視產生的文字。