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

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

在 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
128會員
209內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
有別於正則表達式符號的難以理解,有其他簡單的方式也可以來處理字串的問題。 本文主要介紹其他方法用於處理字串,尋找字串中的關鍵字與其他操作。 [Python]Re正則表達式中常用符號的重點整理 字串方法(String Methods) Python 提供了多種內建的字串方法,可以替代某些簡單
紀錄一些,實用的re正則表達式需要用時,就可以直接複製貼上。 檢查是否有中文字
當使用正則表達式(Regular Expressions, Regex)時,不同的符號和構造具有特定的含義,這些符號和模式可以用來構建靈活且強大的文本匹配規則。 以下是正則表達式中常用符號的重點整理: 字元類別 (Character Classes) [abc]: 匹配 a、b 或 c 中
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
呈上篇[Python基礎]類別繼承(Inheritance) 中使用的super()並加以說明,此篇文章主要敘述使用super()有什麼好處及優點。 super():是一個內建函數,用來返回父類別的物件,以便你可以使用這個物件來呼叫父類別的方法或屬性。 這種做法的目的是在子類別中繼承並延續父類別
上兩篇有關List的文章,此篇文上兩章的延續,整理一些常用的方法和操作。 [Python]List(列表)新增、修改、刪除元素 [Python基礎]容器 list(列表),tuple(元組) 還有一些常用的 list 方法和操作,讓你能更靈活地處理列表數據
有別於正則表達式符號的難以理解,有其他簡單的方式也可以來處理字串的問題。 本文主要介紹其他方法用於處理字串,尋找字串中的關鍵字與其他操作。 [Python]Re正則表達式中常用符號的重點整理 字串方法(String Methods) Python 提供了多種內建的字串方法,可以替代某些簡單
紀錄一些,實用的re正則表達式需要用時,就可以直接複製貼上。 檢查是否有中文字
當使用正則表達式(Regular Expressions, Regex)時,不同的符號和構造具有特定的含義,這些符號和模式可以用來構建靈活且強大的文本匹配規則。 以下是正則表達式中常用符號的重點整理: 字元類別 (Character Classes) [abc]: 匹配 a、b 或 c 中
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
呈上篇[Python基礎]類別繼承(Inheritance) 中使用的super()並加以說明,此篇文章主要敘述使用super()有什麼好處及優點。 super():是一個內建函數,用來返回父類別的物件,以便你可以使用這個物件來呼叫父類別的方法或屬性。 這種做法的目的是在子類別中繼承並延續父類別
上兩篇有關List的文章,此篇文上兩章的延續,整理一些常用的方法和操作。 [Python]List(列表)新增、修改、刪除元素 [Python基礎]容器 list(列表),tuple(元組) 還有一些常用的 list 方法和操作,讓你能更靈活地處理列表數據
你可能也想看
Google News 追蹤
Thumbnail
投資新手大多從身邊市場開始著手,選擇台股市場入門,單筆投資或台股定期定額投資,隨著經驗累積,進入美股市場也是好選擇,這篇文章帶你前進美股投資,證券開戶選擇國內券商複委託,使用美股定期定額投資,並以國泰 CUBE App為例說明。 內容目錄: 1.一站式開戶:以國泰世華 CUBE App 為例
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
上兩篇有關List的文章,此篇文上兩章的延續,整理一些常用的方法和操作。 [Python]List(列表)新增、修改、刪除元素 [Python基礎]容器 list(列表),tuple(元組) 還有一些常用的 list 方法和操作,讓你能更靈活地處理列表數據
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
在處理數據時,最可能會遇到數據中含有None的時候,若沒有處理就進行運算就會造成程式崩潰或者報錯 數據中含有None input_list = [(42, 292), (28, 296), (999, 92), (993, 46), (219, 4), (279, 2), (None, None
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
Thumbnail
題目敘述 Minimum Deletions to Make String Balanced 給定一個只會有包含'a'b或'b'的輸入字串s。 每次操作可以任選一個字元刪除。 請問最少需要多少次操作,才會使得所有的'b'都在'a'後面? 測試範例 Example 1: Input: s
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
在Python中, 要寫一個完整的「符元化類 Tokenizer Class」, 這個Class需要的功能有: 1.「編碼 Encode」:將「文本 Text」分割成「符元 Token」。 2.「詞彙 Vocabulary」:將「符元 Token」映射到「符元ID TokenID
Thumbnail
投資新手大多從身邊市場開始著手,選擇台股市場入門,單筆投資或台股定期定額投資,隨著經驗累積,進入美股市場也是好選擇,這篇文章帶你前進美股投資,證券開戶選擇國內券商複委託,使用美股定期定額投資,並以國泰 CUBE App為例說明。 內容目錄: 1.一站式開戶:以國泰世華 CUBE App 為例
Thumbnail
這是張老師的第三本書,我想前二本應該也有很多朋友們都有讀過,我想絕對是受益良多,而這次在書名上就直接點出,著重在從投資的角度來切入
上兩篇有關List的文章,此篇文上兩章的延續,整理一些常用的方法和操作。 [Python]List(列表)新增、修改、刪除元素 [Python基礎]容器 list(列表),tuple(元組) 還有一些常用的 list 方法和操作,讓你能更靈活地處理列表數據
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
在處理數據時,最可能會遇到數據中含有None的時候,若沒有處理就進行運算就會造成程式崩潰或者報錯 數據中含有None input_list = [(42, 292), (28, 296), (999, 92), (993, 46), (219, 4), (279, 2), (None, None
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
Thumbnail
題目敘述 Minimum Deletions to Make String Balanced 給定一個只會有包含'a'b或'b'的輸入字串s。 每次操作可以任選一個字元刪除。 請問最少需要多少次操作,才會使得所有的'b'都在'a'後面? 測試範例 Example 1: Input: s
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
在Python中, 要寫一個完整的「符元化類 Tokenizer Class」, 這個Class需要的功能有: 1.「編碼 Encode」:將「文本 Text」分割成「符元 Token」。 2.「詞彙 Vocabulary」:將「符元 Token」映射到「符元ID TokenID