1. 為什麼需要在Python中分割字串
1.1. 字串處理的重要性
在Python中,字串處理非常重要。無論是日常的文字資料處理,還是進行數據分析的前處理,字串的分割都是不可或缺的操作。例如,在解析CSV檔案、處理使用者輸入,或處理透過網頁爬取獲取的文本資料時,字串分割是一種常見且必要的技巧。
1.2. 本文將學到的內容
本文將從Python字串分割的基礎方法,到使用正規表示式進行進階分割,進行廣泛的解說。此外,我們將重點介紹split()
、splitlines()
、re.split()
等主要方法,並透過實用的程式碼範例來說明它們的應用方式。
2. 使用Python的split()方法進行基本的字串分割
2.1. 什麼是split()方法?
split()
方法是Python中最基本的字串處理方法之一。它根據指定的分隔符(delimiter)來分割字串,並以列表(list)的形式返回結果。預設情況下,它會使用空白字元(空格、Tab、換行符)作為分隔符。
text = "apple banana cherry"
fruits = text.split()
print(fruits) # 輸出: ['apple', 'banana', 'cherry']
2.2. 指定分隔符
您也可以指定特定的分隔符來分割字串。例如,若字串是以逗號或分號分隔的,可以使用以下方式進行分割:
text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits) # 輸出: ['apple', 'banana', 'cherry']
2.3. 限制分割次數
透過split()
方法的第二個參數,您可以限制最大分割的次數。
text = "apple,banana,cherry,orange"
fruits = text.split(",", 2)
print(fruits) # 輸出: ['apple', 'banana', 'cherry,orange']
這樣可以只分割必要的部分,並在需要保留某些後續內容時特別有用。

3. 使用splitlines()方法根據換行符分割字串
3.1. splitlines()方法概述
splitlines()
方法根據字串中的換行符來分割字串。當需要逐行處理檔案內容或包含換行符的資料時,這個方法特別有用。
text = """apple
banana
cherry"""
lines = text.splitlines()
print(lines) # 輸出: ['apple', 'banana', 'cherry']
3.2. 保留換行符的方法
splitlines()
方法允許透過參數來決定是否保留換行符。如果將參數設為 True
,則換行符會被保留在分割後的字串中。
text = """apple\nbanana\ncherry"""
lines = text.splitlines(True)
print(lines) # 輸出: ['apple\n', 'banana\n', 'cherry']
這種方式特別適用於需要保持原始文本格式的場景,例如讀取並顯示具有換行的內容。
4. 使用re.split()進行正規表達式字串分割
4.1. re.split()的基本用法
在Python中,re
模組允許使用正規表達式來靈活地分割字串。這在需要同時使用多個不同的分隔符時特別有用。
import re
text = "apple123banana456cherry"
fruits = re.split(r'\d+', text)
print(fruits) # 輸出: ['apple', 'banana', 'cherry']
4.2. 使用多個分隔符分割
如果想要使用多種分隔符(如逗號、分號、空格等)來分割字串,可以在正規表達式中指定多個分隔符。例如:
text = "apple, banana; cherry"
fruits = re.split(r'[;, ]+', text)
print(fruits) # 輸出: ['apple', 'banana', 'cherry']
4.3. 使用更複雜的模式進行分割
re.split()
可用來根據更複雜的模式來分割字串,例如根據數字模式來分割:
text = "apple100banana200cherry"
fruits = re.split(r'\d+', text)
print(fruits) # 輸出: ['apple', 'banana', 'cherry']

5. 其他實用的方法:partition() 和 rpartition()
5.1. 如何使用partition()方法
partition()
方法使用指定的分隔符將字串分割為三個部分。它會包含分隔符本身,因此當需要保留分隔符時特別有用。
text = "apple@banana@cherry"
parts = text.partition("@")
print(parts) # 輸出: ('apple', '@', 'banana@cherry')
5.2. 使用rpartition()從右側開始分割
rpartition()
與partition()
類似,但它會從字串的右側開始查找分隔符,並在最後出現的分隔符處進行分割,這在處理倒數分割時非常有用。
text = "apple@banana@cherry"
parts = text.rpartition("@")
print(parts) # 輸出: ('apple@banana', '@', 'cherry')
6. 程式碼範例與應用:Python字串分割的實際應用
6.1. 字串分割的應用案例
在處理使用者輸入時,經常需要將輸入的數據轉換為結構化的格式。例如,以下程式碼示範如何將使用者輸入的逗號分隔字串拆分並解析:
user_input = "name:apple, age:30, city:Taipei"
info = user_input.split(", ")
for item in info:
key, value = item.split(":")
print(f"{key}: {value}")
6.2. 從檔案中讀取並處理數據
在處理檔案數據時,通常需要根據換行符分割內容。以下程式碼示範如何讀取檔案並逐行處理內容:
with open('data.txt', 'r') as file:
lines = file.read().splitlines()
print(lines)

7. 總結:掌握Python的字串分割方法
7.1. 總結
Python 提供了多種方法來進行字串分割,如split()
、splitlines()
、re.split()
、partition()
等。熟練運用這些方法,將有助於更高效地處理和解析數據。
7.2. 下一步
請嘗試在您的小型專案或腳本中應用這些方法,並根據不同的需求選擇最佳的字串分割方式。