Google Docs 中的換行可以透過三種可靠的方式移除:在尋找和取代中啟用規則運算式,搜尋 \n 即可一次刪除或取代所有斷行;將文字以未格式化方式貼到乾淨的文件中再手動修正;或是將文字複製到 Line Break Remover,使用其中三種明確的模式之一處理後再貼回結果。當文件已經開啟時,原生的尋找和取代路徑是最快的選項,而外部瀏覽器工具則能讓你更精細地控制段落邊界的處理方式,並顯示已移除與保留的 token 的精確數量。無論選擇哪條路徑,你實際操作的字元都是 CR、LF、CRLF、U+2028 與 U+2029——也就是 JavaScript 規格與 Unicode 換行演算法所辨識的同一組五個換行 token。Google Docs 在編輯器中並不會明顯區分它們,這就是為什麼以計數、模式驅動的轉換通常比捲動並按下退格鍵更可靠。

how to remove line breaks in google docs
How to Remove Line Breaks in Google Docs

藏在 Google Docs 文字中的換行 token

大多數貼上的文章都帶有來自先前來源的換行。PDF 匯出會在每七十欄進行硬換行,試算表匯出會在每筆紀錄後加上 CRLF,較舊的 Mac 檔案仍使用獨立的 CR,而文件系統偶爾也會輸出 U+2028 LINE SEPARATOR 或 U+2029 PARAGRAPH SEPARATOR,因為 Unicode 也將它們視為斷行。Google Docs 會將其中任何一個都呈現為內文中的一行,所以視覺上它們看起來完全相同。這種視覺上的一致性,正是手動清理經常漏掉罕見類型的原因。

Line Break Remover 中的這五個辨識 token 對應到官方規格。根據 MDN JavaScript lexical grammarECMAScript Language Specification,JavaScript 換行字元正好是 LF、CR、LS(U+2028)和 PS(U+2029),而 CRLF 則被視為單一組合 token。處理這五種就能避免僅僅因為文字區域以相同方式顯示它們,而留下隱藏的分隔符號。

三個值得認識的 Google Docs 方法

在動用外部工具之前,先試試內建功能。它們能涵蓋大多數日常情境,而且無需離開文件。

  1. 使用規則運算式進行尋找和取代。開啟 Edit,選擇 Find and Replace,點選對話框內的三點選單,並啟用 Match using regular expressions。在 Find 欄位輸入 \n。將 Replace 欄位留空即可刪除所有斷行,或輸入一個空格將已換行的文字重新接成連續段落。點選 Replace all。CRLF 與獨立的 CR 也會被比對到,因為規則運算式引擎會將它們正規化,所以計數是可靠的。
  2. 貼上未格式化的文字。從原始來源複製文字,點入 Google Docs 文件,在 Windows 或 Chrome OS 上按下 Ctrl+Shift+V,或在 macOS 上按下 Command+Shift+V。選擇 Paste unformatted text。貼上的區塊僅帶有一般的段落斷行,接著你就可以如前述用 Find and Replace 將它們接合。
  3. 顯示格式化記號後手動使用退格鍵。開啟 View 並啟用 Show non-printing characters,讓段落記號(¶)與分節符號以淡色字型顯示。將游標放在不想要的斷行開頭並按下退格鍵,或放在結尾按下 Delete。這在斷行數量不多時可行,但面對數百個段落時容易出錯。

當文件很大、來源已經混合多種斷行類型,或結果必須逐段檢視時,手動路徑會變得不切實際。這時就是以計數、模式驅動的轉換發揮價值之處。

使用 Line Break Remover 清理文字

清理一大塊文字的最快方式是將文字從 Docs 複製出來,經過 Line Break Remover 處理,再貼回結果。每個步驟都在當前的瀏覽器分頁中完成,因此不會上傳任何內容。

  1. 貼上文字並選擇單空格取代、完全移除或保留段落。在 Google Docs 中選取文字、複製,然後貼到 Line Break Remover 頁面的輸入區。接著選擇符合你期望結果的模式。Replace with one space 會將每個斷行轉成一個普通空格。Remove completely 會在不取代的情況下刪除每個斷行。Preserve paragraphs 會保留段落邊界,同時接合已換行的單行。
  2. 處理文字並檢視已移除、已偵測與剩餘的換行 token 計數。執行工具並檢視三個計數器。Detected 是輸入中已辨識的換行 token 總數。Removed 是被取代的數量。Remaining 是輸出中仍出現的換行 token 數量。detected = removed + remaining 的關係永遠成立,而 CRLF 貢獻的是一個 token 而不是兩個。
  3. 複製輸出,或在瀏覽器剪貼簿權限無法使用時手動選取。使用複製按鈕一鍵傳輸,或是在瀏覽器阻擋程式存取剪貼簿時,以滑鼠反白輸出並使用平台快捷鍵複製。在 Google Docs 中以 Ctrl+Shift+V 貼回清理過的文字,以保持未格式化狀態。

輸入上限為 1,000,000 個 UTF-16 字碼單位,因此在這個大小以內的輸入會一次處理完成。剛好達到邊界的文字會被接受;超過一個字碼單位則會在任何轉換執行前被拒絕。編輯輸入或切換模式會立即清除先前的結果,因此陳舊的統計數字絕不會洩漏到新的決策中。

在三种輸出模式之間做選擇

每種模式都以不同規則處理同一組五個 token,因此正確的選擇取決於斷行在來源中的意義。

模式 每個已辨識 token 的規則 最佳使用時機 需要注意的風險
Replace with one space 每個 CRLF、CR、LF、U+2028 或 U+2029 都會變成一個 U+0020。 斷行是連續段落中的視覺換行,這是最常見的情況。 兩個連續的斷行會產生兩個空格而非一個,因為工具不會將結果合併。
Remove completely 每個已辨識的 token 都會被空字串取代。 你正在清理記錄分隔符、CSV 匯出,或其他詞與詞之間已經以空格分隔的結構化文字。 跨越硬換行被拆開的詞會被直接接合,這會破壞自然段落。
Preserve paragraphs 單一 token 的連續會變成一個空格。任何兩個或以上 token 的不中斷連續會正好變成兩個 LF 字元。 來源使用空行分隔段落,而每個段落內部被換行的單行應該被接合。 單獨一個 U+2029 會被視為一個斷行而非一段段落,因此在必須保留段落處請放置兩個斷行。

只有真正的換行 token 才會參與連續判斷。如果兩個斷行之間存在空格、Tab 或不斷行空格,這些斷行屬於各自獨立的單 token 連續,各自會變成一個空格。空格、Tab 與不斷行空格永遠不會被合併或修剪,因此輸出會保留輸入中原有的水平空白。

貼回結果時不要重新引入斷行

剪貼簿可能會連同可見字元一起帶著隱形的換行,這就是為什麼最後的貼上動作很重要。在 Google Docs 中,點入目的地段落,在 Windows 或 Chrome OS 上按下 Ctrl+Shift+V,或在 macOS 上按下 Command+Shift+V,然後選擇 Paste unformatted text。貼上的區塊只會以一般的段落間距呈現,因此清理過的輸出就是最終保留下來的內容。對於較大的文件,請先貼到一份暫時的空白文件,以 View、Show non-printing characters 掃描一次,確認記號看起來正確後再複製到最終位置。

何時該改用其他工具

Line Break Remover 是一種字串層級的轉換。它不會解析 Markdown、HTML、CSV 引號、原始碼語法、郵寄地址或語意化的文件結構,因此承載業務意義的斷行會和視覺換行以同樣方式被移除。如果目標是清理水平空白而非換行,Whitespace Remover 會合併或刪除空格與 Tab,但保留斷行不動。如果目標是將可見的斷行轉成 \n 等字面字元,相關的 Line Break Converter 則進行反向對應。將正確的工具與快速的格式化記號視覺檢查搭配使用,能讓清理工作保持誠實,而不會失去原本重要的結構。

延伸閱讀:Counting Lines in Poetry: Forms, Rules, and a Quick Tool

延伸閱讀:Convert Numbers to Words for Google Sheets Without Code