Python split()方法分割字符串


Python 中,除了可以使用一些內建函數獲取字符串的相關信息外(例如 len() 函數獲取字符串長度),字符串類型本身也擁有一些方法供我們使用。

注意,這里所說的方法,指的是字符串類型 str 本身所提供的,由於涉及到類和對象的知識,初學者不必深究,
只需要知道方法的具體用法即可。

split() 方法可以實現將一個字符串按照指定的分隔符切分成多個子串,這些子串會被保存到列表中(不包含分隔符),作為方法的返回值反饋回來。該方法的基本語法格式如下:

str.split(sep,maxsplit)

此方法中各部分參數的含義分別是:

str:表示要進行分割的字符串;

sep:用於指定分隔符,可以包含多個字符。此參數默認為 None,表示所有空字符,包括空格、換行符“\n”、制表符“\t”等。

maxsplit:可選參數,用於指定分割的次數,最后列表中子串的個數最多為 maxsplit+1。如果不指定或者指定為 -1,則表示分割次數沒有限制。

在 split 方法中,如果不指定 sep 參數,那么也不能指定 maxsplit 參數。

同內建函數(如 len)的使用方式不同,字符串變量所擁有的方法,只能采用“字符串.方法名()”的方式調用。這里不用糾結為什么,學完類和對象之后,自然會明白。

例如,定義一個保存php中文網網址的字符串,然后用 split() 方法根據不同的分隔符進行分隔,執行過程如下:

>>> str = "php中文網 >>> c.biancheng.net"
>>> str
'php中文網 >>> c.biancheng.net'
>>> list1 = str.split() #采用默認分隔符進行分割
>>> list1
['php中文網', '>>>', 'c.biancheng.net']
>>> list2 = str.split('>>>') #采用多個字符進行分割
>>> list2
['php中文網 ', ' c.biancheng.net']
>>> list3 = str.split('.') #采用 . 號進行分割
>>> list3
['php中文網 >>> c', 'biancheng', 'net']
>>> list4 = str.split(' ',4) #采用空格進行分割,並規定最多只能分割成 4 個子串
>>> list4
['php中文網', '>>>', 'c.biancheng.net']
>>> list5 = str.split('>') #采用 > 字符進行分割
>>> list5
['php中文網 ', '', '', ' c.biancheng.net']
>>>

需要注意的是,在未指定 sep 參數時,split() 方法默認采用空字符進行分割,但當字符串中有連續的空格或其他空字符時,都會被視為一個分隔符對字符串進行分割,例如:

>>> str = "php中文網   >>>   c.biancheng.net"  #包含 3 個連續的空格
>>> list6 = str.split()
>>> list6
['php中文網', '>>>', 'c.biancheng.net']
>>>

本文轉載於https://www.py.cn/jishu/jichu/10831.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM