Python 字串 split() 方法



Python 字串split()方法將字串中所有由指定分隔符分隔的單詞分割開來。此分隔符是一個分隔符字串,可以是逗號、句號、空格字元或任何其他用於分隔字串的字元。

通常,如果多個分隔符組合在一起,該方法將其視為一個空字串。但是,如果沒有指定分隔符或為None,並且字串由連續的空格組成;它們被視為單個分隔符,如果字串具有前導或尾隨空格,則結果將不包含開頭或結尾的空字串。因此,使用 None 分隔符分割空字串或僅包含空格的字串將導致空字串。

語法

以下是 Python 字串split()方法的語法:

str.split(str="", num=string.count(str)).

引數

  • sep - 這是任何分隔符,預設為空格。

  • maxsplit - 這是行數減一

返回值

此方法返回一個行列表。

示例

當我們不向方法傳遞任何引數時,預設字元(空格)被視為引數。在這種情況下,split() 方法在分隔字串後返回行列表。

str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
print(str.split( ))
print(str.split(' ', -1))

當我們執行上述程式時,它會產生以下結果。對於第一種情況,甚至其他分隔符,如換行符 (\n),也會被移除。

['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc', '\nLine4-abcd']

示例

將已知分隔符作為引數傳遞給方法,以獲得結果值作為分隔的行列表。

在這個例子中,我們取兩個字串作為輸入;兩者都包含分隔符。我們透過傳遞所需的分隔符作為引數,在兩個字串上呼叫 split() 方法。

str1 = "abcde, 12345, !@#$%";
str2 = "14<65<189<235<456"
print(str1.split(','))
print()
print(str2.split('<'))

上述程式的輸出如下:

['abcde', '12345', '!@#$%']
['14', '65', '189', '235', '456']

示例

在下面的示例中,我們使用 split() 方法透過傳遞點 (.) 作為引數來分隔十進位制數的整數部分和小數部分。

str = "123.748289";
print("Separating the integer and decimal from the input number:")
print(str.split('.'))

讓我們執行上面的程式以獲得如下輸出:

Separating the integer and decimal from the input number:
['123', '748289']

示例

當我們傳遞分隔符引數,但分隔符引數在字串中組合在一起時;該方法將其視為空字串。

在下面的示例中,我們建立一個值為“aaa,,ccc,ddd,eee”的字串,並使用逗號 (,) 作為引數在其上呼叫 split() 方法。由於給定的字串包含組合在一起的逗號;該方法為每個存在的逗號分隔符返回空字串。

str = "aaa,,ccc,ddd,eee";
print(str.split(','))

上述程式的輸出顯示如下:

['aaa', '', 'ccc', 'ddd', 'eee']

示例

當我們傳遞maxsplit引數時,該方法返回一個最多分割到指定索引的行列表。

str = "aaa,bbb,ccc,ddd,eee";
print(str.split(',', 2))

如果我們執行上面的程式,則輸出如下:

['aaa', 'bbb', 'ccc,ddd,eee']
python_strings.htm
廣告