Python split()方法详解:分割字符串

2024-01-08 13:55:52

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://blog.csdn.net/hakesashou/article/details/135393515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。