首頁 >後端開發 >Python教學 >Python程式將字串拆分為多個子字串

Python程式將字串拆分為多個子字串

WBOY
WBOY轉載
2023-09-04 19:17:061544瀏覽

Python程式將字串拆分為多個子字串

在 Python 中,我們可以使用 split() 方法將字串拆分為子字串。 split() 方法是內建的 Python 字串方法之一,它根據指定的分隔符號將字串拆分為子字串清單。在本文中,我們將藉助範例學習如何將字串拆分為子字串。

將字串拆分為子字串

方法一:使用split()方法

split()方法是Python中字串的內建方法,它根據指定的分隔符號將字串拆分為子字串清單。分隔符號可以是分隔子字串的任何字元或字串。 split() 方法採用一個參數,即分隔符號。如果沒有指定分隔符,它將把字串分割成單一字元。

範例:分別根據空格和逗號分隔符號進行分割

在下面的範例中,我們將使用空格分隔符號分割字串。我們使用 split() 方法並傳遞空格分隔符號來根據空格分割字串。

string = "Hello World"
substrings = string.split()
print(substrings)

string1 = "apple,banana,orange"
substrings = string1.split(",")
print(substrings)

輸出

['Hello', 'World']
['apple', 'banana', 'orange']

範例:使用正規表示式分割

在下面的範例中,我們使用正規表示式模組中的 split() 函數,使用破折號和空格分隔符號將字串「23-456-7890」拆分為三個子字串。

import re

string = "123-456-7890"
substrings = re.split("-|\s", string)
print(substrings)

輸出

['123', '456', '7890']

方法 2:使用列表理解

清單推導式是在 Python 中建立清單的簡潔方法。它允許您基於現有列表或其他可迭代物件建立新列表,同時還套用篩選條件並對可迭代的元素執行轉換。

文法

new_list = [expression for item in iterable if condition]

其中「表達式」是要對可迭代的每個元素執行的轉換或操作,「專案」是目前正在處理的元素,「可迭代」是元素的來源,「條件」是可選的過濾決定某個元素是否包含在結果清單中的條件。

範例

在下面的範例中,我們從一個名為「sentence」的字串開始,其中包含一系列由空格分隔的單字。我們使用 split() 方法將字串拆分為單字列表,然後使用列表理解來建立一個名為「words」的新列表,其中包含原始字串中的每個單字。

sentence = "The quick brown fox jumps over the lazy dog"
words = [word for word in sentence.split()]
print(words)

輸出

['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

方法3:使用partition()方法

partition()方法是Python中字串的內建方法,它根據指定的分隔符號將字串分割成三個部分。它會傳回一個元組,其中包含分隔符號之前的字串的左側部分、分隔符號本身以及分隔符號之後的字串的右側部分。如果在字串中找不到分隔符,則該方法將傳回一個包含原始字串的元組,後面接著兩個空字串。

文法

string.partition(delimiter)

這裡,字串是您要拆分的字串,分隔符號是您希望分割區函數拆分字串所依據的分隔符號。

範例

在下面的範例中,我們使用partition()方法來分割字串「Hello World!」根據空間分隔符號分成三個部分。產生的元組包含左側部分「Hello」、分隔符號「」和右側部分「World!」。

string = "Hello World!"
parts = string.partition(" ")
print(parts)

輸出

('Hello', ' ', 'World!')

方法4:使用splitlines()函數

splitlines()方法是Python中字串的內建方法,它根據換行符號「\n」將字串分割成行列表。如果字串不包含任何換行符,則傳回一個列表,其中包含原始字串作為其唯一元素。

文法

string.splitlines()

這裡,splitlines() 不帶任何參數,並且總是根據換行符號分割字串。

範例

在下面的範例中,我們使用 splitlines() 方法將字串「Line 1\nLine 2\nLine 3」拆分為行列表。結果清單包含三個元素,每個元素對應原始字串中的每一行。

string = "Line 1\nLine 2\nLine 3"
lines = string.splitlines()
print(lines)

輸出

['Line 1', 'Line 2', 'Line 3']

方法5:使用re.findall()方法

re.findall() 方法是 Python 中 re 模組中的一個函數,它在字串中搜尋所有出現的指定正規表示式模式,並傳回所有符合項目的清單。正則表達式模式可以包含代表不同類型字符或序列的各種字符,從而允許進行複雜的模式匹配和提取字串的特定部分。

文法

re.findall(regular_expression, string)

這裡,re.findall() 方法採用正規表示式來找出字串中符合單字的出現情況,該字串也傳遞給 findall() 函數。

範例

在下面的範例中,我們使用 re.findall() 方法來搜尋字串中出現的所有正規表示式模式 \b\w{5}\b。此模式與由單字邊界(即單字的開頭或結尾)包圍的任何五個單字字元(字母、數字或底線)序列相符。 re.findall() 方法傳回字串中找到的所有符合項目的清單。

import re

string = "The quick brown fox jumps over the lazy dog"
matches = re.findall(r"\b\w{5}\b", string)
print(matches)

输出

['quick', 'brown', 'jumps']

结论

在本文中,我们讨论了如何在 Python 中使用 split() 函数、使用列表理解、使用分区方法、使用 splitline 方法以及使用 re.findall() 将字符串拆分为多个子字符串方法。 split() 函数采用分隔符作为参数。然后根据该分隔符分割字符串。 splitline 方法始终根据新行分隔符分割字符串。我们可以使用本文中介绍的任何方法,具体取决于我们想要执行的拆分类型。

以上是Python程式將字串拆分為多個子字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除