移除多餘空格,同時保留換行
整理貼上的草稿,同時保留段落結構。模式與取代方式兩者都很重要。
你從其他應用程式貼上草稿。文字之間多了些空格,原有的分段卻不該變。將所有空白替換為單一空格可能會把整個草稿變成一行長文字。
對於一般重複的空格和定位字元,請先在 Regex 遊樂場 中使用此模式:
[ \t]{2,}
將每個相符項目替換為一個普通空格,並啟用尋找所有相符項目。此模式不包含換行符。
先在小草稿上試試
下載範例文字。其中包含重複空格、第二個標籤後的兩個定位字元、名稱 Zoë,以及最後一段前的空行。
- 將檔案內容貼到測試文字。
- 將上述模式貼到正規運算式,不要包含前後的斜線。
- 在選項中,確認尋找所有相符項目已開啟。運算式旁顯示的旗標應包含
g。 - 選擇取代。在手機上,請先開啟結果。
- 在替換為中,輸入一個空格。若將此欄位留空,則會刪除相符的空格。
預覽應顯示三個相符項目被替換,並保留此版面:
Creator: Zoë
Topic: Colour palettes
Next step: export PDF.
在將輸出複製到草稿前,請與清理後的文字檔比較。
為什麼較寬鬆的模式會失去段落
在 JavaScript 正規運算式中,空白字元類別也包含行終止符。下面這個看似省事的寫法,會連其他空白字元也一起處理:
\s+
若以空格作為替換,它也會替換換行符和空段落分隔符。合併成一行的結果顯示了差異。這對於刻意要單行的值可能有用,但當段落應保留時,這是錯誤的選擇。
較窄的模式匹配至少兩個普通空格或定位字元的連續序列。它會保留單一定位字元不變。如果你也想將單一定位字元轉換為空格,請改用此模式:
[ \t]+
兩種版本都不會匹配所有可能的 Unicode 空格字元。從網頁複製的不斷行空格可能需要單獨處理。請檢查輸入中實際的內容,而不是讓模式變得更寬鬆直到看似有效。
檢查相符數量和替換結果
若沒有 g 旗標,只會替換第一個相符的連續序列。如果第一行看起來已修正,但後續行仍有間隙,請在更改模式前檢查尋找所有相符項目。
保留原始檔案,方便對照結果。定位字元和空格在表格、程式碼、詩歌和 Markdown 縮排中可能具有意義。空白清理適用於此純文字草稿;它不是適用於所有檔案的安全通用格式化工具。
對於 Markdown,請在編輯後使用 Markdown 編輯器 檢查渲染結構。對於結構化資料,請使用能理解該格式的格式化工具。
我們檢查了什麼
在 2026 年 10 月 5 日,我們使用工具實際採用的 JavaScript 比對函式測試了範例。較窄的模式替換了三處連續空白,並保留了每個換行符,包括空行。我們也檢查了較寬鬆的模式和僅匹配第一個的情況。結果檔案記錄了模式、旗標和確切輸出。
此工具在你的瀏覽器中處理文字。這些結果描述的是提供的範例,而非每個恰好包含重複空格的文件。