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

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

更新於 發佈於 閱讀時間約 5 分鐘

在 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正則表達式中常用符號的重點整理

avatar-img
螃蟹_crab的沙龍
137會員
244內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言
avatar-img
留言分享你的想法!
螃蟹_crab的沙龍 的其他內容
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。 如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index() 方法。 實作範例數據來源 處理步驟 確保日期欄位是 datetime
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部
生成器表達式是 Python 中一種更簡潔的語法,專門用來創建生成器。它的語法與列表生成式類似,但將列表生成式中的方括號 [] 替換為小括號 ()。生成器表達式與生成器函數類似,具有「惰性評估」的特性,因此它只在需要時才生成元素,從而節省記憶體。 生成器的「惰性評估」(也叫延遲求值)指的是生成器不
包含著日期型資料在許多不同領域的分析中都非常重要,特別是當數據涉及隨時間變化的趨勢、模式或週期時,例如房價,股票價格分析等等。 如何將一個日期欄位改為 DataFrame 的索引,你可以使用 set_index() 方法。 實作範例數據來源 處理步驟 確保日期欄位是 datetime
為了讓資料更適合進行後續的分析、建立模型,模型的決策準確性,資料探索與清理是資料分析過程中非常重要的步驟,主要目的在於確保資料的品質和可靠性。 因為前幾篇的例子中的資料,並沒有缺失值與重複值的部分,我另外找了一份有包含的資料來做案例分析,由於找到的資料沒有重複值的部分,故本文主要解釋處理缺失值的部