Python split()笔记(分割字符串)

Python3+
使用Python制作数据处理工具时接触到的split(),对数据提取用到str.split()。

函数原型

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

参数

  • sep – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num – 分割次数。默认为 -1, 即分隔所有。

返回值

  • Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
  • 返回分割后的字符串列表。

代码测试

#!/usr/bin/python3
 
str = "Do What You Cant\n\n\n!!"
print (str.split( ))       # 以空格为分隔符 进行全分割 如果包含了\n且多个连续的\n也会被认为是一个
print (str.split('o',1))   # 以 o 为分隔符 进行一次分割
print (str.split('o'))     # 以 o 为分隔符 进行全分割

输出结果

['Do', 'What', 'You', 'Cant', '!!']
['D', ' What You Cant\n\n\n!!']
['D', ' What Y', 'u Cant\n\n\n!!']

实际中可能还需要遇到分割字符串后提取其中某个位置的数据,这就需要使用str.split()[]这种方法了。
split()[]中[]填写的为位置参数,当值为正则是从左往右顺序,为负则为从右往左顺序
注意:该参数为空或者超过了可切割的最大值(指定分隔符个数)则会报错。

#!/usr/bin/python3
 
str = "Do What You Cant\n\n\n!!"
print (str.split()[0])	#得到第一个空格之前的内容
print (str.split()[1])	#得到第一个空格之后第二个空格之前的内容
print (str.split()[2])	#得到第二个空格之后第三个空格之前的内容
print (str.split()[3])	#得到第三个空格之后第四个空格之前的内容
print (str.split()[4])	#得到第四个空格之后的内容 之前有提到多个连续\n会默认为一个空格
#如果print (str.split()[5])则会报错
print ("-------------------")
print (str.split()[-1]+" 倒序头尾 "+str.split()[-5])	#倒序此处-5相当于0
	
Do
What
You
Cant
!!
-------------------
!! 倒序头尾 Do

猜你喜欢

转载自blog.csdn.net/Mr_Bobcp/article/details/107297275