如何在Python中使用多個分隔符分割字串?
根據所需靈活性與複雜性的不同,我們可以透過多種方法使用多個分隔符分割字串,例如使用Python的re.split()方法,它是多種字串方法的組合。一些常用的分割字串方法如下。
-
str.replace() 和 str.split()
-
re.split() 方法
-
translate() 和 maketrans() 方法
使用 'str.replace()' 和 'str.split()'
此方法包括將字串中的所有分隔符替換為一個公共分隔符(例如空格或逗號),使用str.replace()將每個分隔符替換為一個公共字元。替換分隔符後,使用str.split()方法分割字串。
示例
在下面的示例中,每個replace()呼叫都將分隔符替換為空格。在所有分隔符都被替換為空格後,str.split()將字串分割成一個列表。
text = "apple,orange;banana|grape:pear"
# Replace each delimiter with a space
text = text.replace(",", " ").replace(";", " ").replace("|", " ").replace(":", " ")
# Split the string on spaces
result = text.split()
print(result)
輸出
['apple', 'orange', 'banana', 'grape', 'pear']
使用 're.split()' 方法
Python 提供了re(正則表示式)模組。具體來說,re.split()函式是一個有效的工具,允許我們使用多個分隔符分割字串。正則表示式是定義搜尋模式的字元序列。
示例
在下面的示例程式碼中,我們使用了re.split()方法在分號 (;)、逗號 (,) 或空格的每次出現處分割字串。|符號在正則表示式中用於表示“或”,因此 |,| 可以解讀為“分號或逗號或空格”。
import re
text = "Python;is,a powerful:language"
words = re.split(';|,| ', text)
print(words)
輸出
['Python', 'is', 'a', 'powerful:language']
使用 'translate()' 和 'maketrans()' 方法
在Python中,對於字元對映和替換,可以使用str類提供的maketrans()和translate()這兩種方法。組合使用這兩種方法可以有效地替換多個分隔符。
示例
在下面的示例程式碼中,maketrans()方法返回一個轉換表,該表將分號 (;) 和冒號 (:) 對映到逗號 (,)。translate()方法替換特定字元。之後,我們可以使用str.split(',')將文字分割成單詞並列印提取的單詞。
text = "Python;is,a powerful:language"
# Create a translation table mapping ';' and ':' to ','
table = text.maketrans(";:", ",,")
# Apply the translation table
text = text.translate(table)
# Now we can split on the comma
words = text.split(',')
print(words)
輸出
['Python', 'is', 'a powerful', 'language']
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP