Python 是一種高階、通用的程式語言,著重於程式碼的可讀性。它支援多種程式設計範式,例如結構化、物件導向和函數式程式設計。由於其豐富的標準函式庫,Python 經常被描述為 “內建電池”。
在本指南中,我們將學習在 Python 中移除字串中空白字元的各種方法。
先決條件
要執行本指南中示範的步驟,您將需要以下組件:
-
- 一台配置妥當的 Linux 機器,例如: 在 CloudSigma 上的 Ubuntu VPS.
-
- 一個配置妥當的 Python 開發環境。請參閱 在 Ubuntu 上配置 Python 開發環境.
-
- 一個合適的文字編輯器,例如: Brackets, VS Code, Sublime Text, Vim/NeoVim 等。
步驟 1 – 建立 Python 腳本
為了進行演示,我們將建立一個 Python 腳本 remove-space.py 並將我們所有的程式碼放在那裡。然後,我們將在 Python 解譯器的幫助下執行該腳本。
首先,建立 Python 腳本:
|
1 |
touch remove-space.py |

在文字編輯器中開啟腳本:
|
1 |
nano remove-space.py |

接下來,我們將建立一個字串變數 s 並指派一個字串:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

如果我們加入 print() 函式,我們就可以看到該字串是如何被解析的:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

在這裡,
-
- 這個
print()函式接受一個字串作為引數。
- 這個
-
- 這個
print()函式可以解析反斜線字元。
- 這個
執行腳本:
|
1 |
python remove-space.py |

步驟 2 – 移除首尾空格
透過 strip() 函數,我們可以移除字串的首尾字元。
以下程式碼示範了如何使用 strip() 函數於變數 s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


請注意,strip() 函數會移除所有的首尾空格。如果您只想移除首部或尾部的空格,請分別使用 lstrip() 或 rstrip() :
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


步驟 3 – 移除所有空白字元
透過 replace() 函式,我們可以替換字串中的內容。利用這個特性,我們可以將所有空白字元替換為空,從而將其移除。
讓我們將 replace() 函式付諸行動。請看以下程式碼:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


在這裡,
-
- 第一個參數
replace()描述了要在給定字串中尋找什麼模式。
- 第一個參數
-
- 第二個參數
replace()描述了替換的內容將會是什麼。
- 第二個參數
步驟 4 – 移除空白字元,使用 split() 和 join()
在本節中,我們將使用 split() 和 join() 函式。
-
split():它接收一個字串並將其拆分為列表。拆分點由分隔符號決定。
-
join(): 它接收該列表並將其放回單個字串中。各部分使用單個空格 (” “) 連接。
讓我們實際運用這些函式。看看以下程式碼:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


在這裡,
-
- 我們結合了
split(),join()、以及print()於單行中。
- 我們結合了
-
- The output of the
split()函式的輸出會被作為參數傳遞給join()函式。
- The output of the
-
- The output of the
join()函式的輸出會被作為參數傳遞給print()函式。
- The output of the
步驟 5 – 移除空白字元,使用 translate()
在 Python 中,translate() 函式會將指定的字元替換為字典或對應表中定義的字元。
在這個範例中,我們將使用 string.whitespace 字典,其中包含所有的空白字元。
請看以下程式碼:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


步驟 6 – 使用 Regex 移除空白字元
正規表示式(簡稱 “regex”)是許多程式語言中一項強大的功能。任何正規表示式都由一系列建構搜尋模式的字元組成。正規表示式可用於檢查字串是否包含指定的模式。
Python 也支援 regex,這顯著提升了其文字處理能力。在本節中,我們將使用 regex 來消除測試字串中發現的任何空白字元。
請看以下程式碼:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('移除所有空格:\n', re.sub(r"\s+", "", s), sep='') # \s 匹配所有空白字元 print('移除前導空格:\n', re.sub(r"^\s+", "", s), sep='') # ^ 匹配開頭 print('移除尾隨空格:\n', re.sub(r"\s+$", "", s), sep='') # $ 匹配結尾 print('移除前導和尾隨空格:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | 用於 OR 條件 |


在這裡,
-
- 我們正在導入
re,這是一個專門用於處理正規表示式的套件。
- 我們正在導入
結語
在本指南中,我們示範了在 Python 中處理字串中空白字元的各種方法。在此過程中,我們還學習了各種函數的簡單用法,例如 split(), join(), replace(), translate() 等。
有興趣了解更多關於 Python 的資訊嗎?請參閱以下指南:
留言
目前尚無留言。成為第一個留言的人吧。