更新於 2024/08/19閱讀時間約 4 分鐘

[Python]幾種去除字串中的空白字元的方法

在 Python 中,可以使用多種方法來去除字串中的空白字元,以下是幾種常見的方法:


固定位置型

使用 strip() 方法

  • strip() 方法會去除字串前後的空白字元(包括空格、換行、製表符號等)。

範例:
text = "  Hello, World!  "
result = text.strip()
print(result) # Output: "Hello, World!"

使用 lstrip()rstrip() 方法

  • lstrip() 只會去除字串左邊(前面)的空白字元
  • rstrip() 只會去除字串右邊(後面)的空白字元

範例:
text = "  Hello, World!  "
left_stripped = text.lstrip()
right_stripped = text.rstrip()
print(left_stripped) # Output: "Hello, World! "
print(right_stripped) # Output: " Hello, World!"



任意位置型

使用 replace() 方法

  • replace() 方法可以用來去除字串中的所有空白字元,無論其位置在哪裡。

範例:
text = "Hello, World!"
result = text.replace(" ", "")
print(result) # Output: "Hello,World!"

使用 split()join() 方法

  • split() 會將字串以空白字元分割成一個列表,然後使用 join() 方法將其重新組合,去除所有空白字元

範例:
text = "Hello, World!"
result = "".join(text.split())
print(result) # Output: "Hello,World!"



使用正則表達式

去除所有空白字符(空格、Tab、換行)

  • 可以使用正則表達式 \s 來匹配所有的空白字元,包括空格、換行符、製表符等。
  • 使用 re.sub() 函數將所有空白字符替換為空字符串 ""

範例:
import re

text = "Hello, World!\nThis is\tPython."
result = re.sub(r'\s+', '', text)
print(result) # Output: "Hello,World!ThisisPython."

去除前後的空白字符

  • 如果只想去除字串前後的空白字符,可以使用 ^\s+ 匹配開頭的空白字符,和 \s+$ 匹配結尾的空白字符。
  • 使用 re.sub() 來替換這些空白字符。

範例:
import re

text = " Hello, World! "
result = re.sub(r'^\s+|\s+$', '', text)
print(result) # Output: "Hello, World!"

去除多餘的空白字符

  • 若希望將多個連續空白字元替換為一個空格,可以使用 \s+ 匹配多個空白字元,並將其替換為單個空格 " "

範例:
import re

text = "Hello, World! This is\tPython."
result = re.sub(r'\s+', ' ', text)
print(result)
# Output:
# Hello,World!
# Thisis Python.

去除特定位置的空白字元

  • 可以精確控制匹配和替換的位置,例如只替換字串中的空格而不替換換行符或製表符。

範例:
import re

text = "Hello, World!\nThis is\tPython."
result = re.sub(r' ', '', text) # 只去除空格
print(result)
# Output:
# Hello,World!
# Thisis Python.

使用正則表達式處理字串時,靈活性很高,可以根據具體需求來設計匹配模式。


作者其他正則表達式文章

[Python]代替Re正則表達式來處理String 字串的簡單方法

[Python]Re正則表達式一些實用範例

[Python]Re正則表達式中常用符號的重點整理

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.