一、split函數的基本用法
Python中的字符串函數split()可以將字符串按照指定的分割符進行切割,並返回一個由分割後的字符串組成的列表。其基本用法如下:
str.split([sep[, maxsplit]])
其中,參數sep為分割符,默認為所有空字符(包括空格、製表符\t、換行符\n等);參數maxsplit為分割次數,可選,默認為-1,即分割所有分割符。
下面演示一個簡單的例子:
text = "apple,banana,orange" fruits = text.split(",") print(fruits) # ["apple", "banana", "orange"]
二、split函數的高級用法
split函數的高級用法是可以指定分割符的數量和位置,同時可以使用正則表達式進行分割。
1. 指定分割符數量和位置
在split()函數的正常用法中,如果指定了maxsplit參數為n,則只會分割n次。有時候我們希望只分割前n-1次,後面所有的字符串都不進行分割,此時可以使用rpartition()函數,該函數從字符串的末尾開始查找分割符,並返回分割符前面的部分、分割符本身和分割符後面的部分。
text = "foo/bar/baz" a, sep, b = text.partition("/") print(a, b) # "foo", "bar/baz" c, sep, d = b.partition("/") print(c, d) # "bar", "baz"
2. 使用正則表達式進行分割
Python的標準模塊re可以實現正則表達式操作,可以在分割字符串的時候使用正則表達式來進行更加靈活的控制。
import re text = "foo bar\t baz \tqux" print(re.split('\s+', text)) # ['foo', 'bar', 'baz', 'qux']
三、注意事項
在使用split()函數時,需要注意以下幾個問題:
1. 參數sep和maxsplit的使用
如果不傳遞sep參數,則會使用所有的空字符作為分割符,如果是按照單個空格進行分割,則應該使用” “,而不是””。
如果傳遞了maxsplit參數,則函數最多只會進行maxsplit次的分割。需要注意的是,如果maxsplit為0,則函數不會進行任何分割。
2. split()函數不會對原有字符串進行操作
split()函數不會改變原有字符串,而是返回一個新的列表,需要使用變量進行接收。
3. 分割空字符串
如果要分割空字符串,在split()函數中不能使用空字符串作為分割符,可以使用None來指定分割符。
四、總結
Python中的字符串函數split()可以用來將一個字符串按照指定的分割符進行切割,並返回一個由分割後的字符串組成的列表。可以使用sep參數指定分割符,使用maxsplit參數指定分割次數,同時也可以使用正則表達式進行更加靈活的分割。需要注意,函數不會改變原有字符串,分割空字符串時需要使用None來指定分割符。
原創文章,作者:CQGL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/145638.html