Split的用法Python:字符串分割神器
Python中的split()函數(shù)是字符串處理中非常常用的一個(gè)函數(shù),它可以將一個(gè)字符串按照指定的分隔符進(jìn)行分割,返回一個(gè)由分割后的子字符串組成的列表。split()函數(shù)的用法非常簡(jiǎn)單,只需要在字符串后面加上.split(),并在括號(hào)中指定分隔符即可。
舉個(gè)例子,假設(shè)我們有一個(gè)字符串s,它包含了多個(gè)單詞,我們想要將這些單詞分割出來(lái),可以使用以下代碼:
s = "hello world python"
words = s.split()
print(words)
輸出結(jié)果為:
['hello', 'world', 'python']
這里我們沒(méi)有指定分隔符,默認(rèn)情況下split()函數(shù)會(huì)按照空格進(jìn)行分割。
除了默認(rèn)的空格分隔符,我們還可以指定任意的分隔符,比如逗號(hào)、冒號(hào)、分號(hào)等等。例如,我們有一個(gè)包含多個(gè)人名和他們的年齡的字符串s,每個(gè)人名和年齡之間用逗號(hào)分隔,我們可以使用以下代碼將其分割:
s = "Tom,18;Jerry,20;Lucy,19"
info = s.split(";")
print(info)
輸出結(jié)果為:
['Tom,18', 'Jerry,20', 'Lucy,19']
這里我們指定了分隔符為分號(hào),split()函數(shù)將字符串s按照分號(hào)進(jìn)行分割,返回一個(gè)包含三個(gè)元素的列表。
除了上面的基本用法,split()函數(shù)還有一些高級(jí)用法,下面我們來(lái)逐一介紹。
1. 指定分割次數(shù)
split()函數(shù)還可以指定分割次數(shù),即只分割前n個(gè)子字符串。例如,我們有一個(gè)包含多個(gè)單詞的字符串s,我們只想將其分割成兩個(gè)子字符串,可以使用以下代碼:
s = "hello world python"
words = s.split(maxsplit=1)
print(words)
輸出結(jié)果為:
['hello', 'world python']
這里我們指定了分割次數(shù)為1,即只分割出兩個(gè)子字符串,第一個(gè)子字符串為"hello",第二個(gè)子字符串為"world python"。
2. 指定多個(gè)分隔符
split()函數(shù)還可以指定多個(gè)分隔符,比如我們有一個(gè)包含多個(gè)人名和他們的年齡的字符串s,每個(gè)人名和年齡之間既可以用逗號(hào)分隔,也可以用冒號(hào)分隔,我們可以使用以下代碼將其分割:
s = "Tom,18;Jerry:20;Lucy,19"
info = s.split(",|;|:")
print(info)
輸出結(jié)果為:
['Tom', '18', 'Jerry', '20', 'Lucy', '19']
這里我們指定了多個(gè)分隔符,用豎線(|)分隔不同的分隔符,split()函數(shù)將字符串s按照這些分隔符進(jìn)行分割,返回一個(gè)包含六個(gè)元素的列表。
3. 去除空白字符
split()函數(shù)默認(rèn)會(huì)去除分割出來(lái)的子字符串中的空白字符,比如空格、制表符、換行符等等。例如,我們有一個(gè)包含多個(gè)單詞的字符串s,其中有一些單詞之間有多個(gè)空格,我們可以使用以下代碼將其分割:
s = "hello world python"
words = s.split()
print(words)
輸出結(jié)果為:
['hello', 'world', 'python']
這里我們沒(méi)有指定分隔符,split()函數(shù)將字符串s按照空格進(jìn)行分割,并自動(dòng)去除了分割出來(lái)的子字符串中的多余空格。
4. 去除特定字符
有時(shí)候我們并不想去除分割出來(lái)的子字符串中的空白字符,而是想去除特定的字符,比如逗號(hào)、冒號(hào)等等。這時(shí)候可以使用strip()函數(shù)來(lái)去除指定的字符。例如,我們有一個(gè)包含多個(gè)人名和他們的年齡的字符串s,每個(gè)人名和年齡之間用逗號(hào)分隔,我們想要去除分割出來(lái)的子字符串中的逗號(hào),可以使用以下代碼:
s = "Tom,18;Jerry,20;Lucy,19"
info = s.split(";")
for i in range(len(info)):
info[i] = info[i].strip(",")
print(info)
輸出結(jié)果為:
['Tom18', 'Jerry20', 'Lucy19']
這里我們先將字符串s按照分號(hào)進(jìn)行分割,得到一個(gè)包含三個(gè)元素的列表,然后使用strip()函數(shù)去除每個(gè)元素中的逗號(hào),最終得到一個(gè)包含三個(gè)人名和他們的年齡的列表。
關(guān)于split()函數(shù)的用法就介紹到這里,希望能對(duì)大家有所幫助。如果你還有其他關(guān)于split()函數(shù)的問(wèn)題,可以看看下面的問(wèn)答部分,或者在評(píng)論區(qū)留言,我會(huì)盡量解答。