一、split()函数
split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。
语法:str.split(str="",num=string.count(str))[n]
参数说明:
str :表示分隔符 ,默认为空格、换行(\n)、制表符(\t)等,不过不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素返回。
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量;
如果分割次数大于字符串的分隔符数,按最大分割符数进行分割,程序不会报错。
[n] : 表示选取第n个分片。
二、实例
split()的使用方法:
a = "line1_Dylan\nline2 line3\tline4 line5*line6*line7*line8"
print(a.split())#默认以空格、\n、\t为分隔符
print(a.split(' ',1))# 以空格为分隔符,分隔成两个
以上实例返回结果:
['line1_Dylan', 'line2', 'line3', 'line4', 'line5*line6*line7*line8']
['line1_Dylan\nline2', 'line3\tline4 line5*line6*line7*line8']
以*为分割符,指定分割参数2,返回三个参数列表:
a = "line1_Dylan\nline2 line3\tline4 line5*line6*line7*line8"
print(a.split('*',2))
#返回结果
# ['line1_Dylan\nline2 line3\tline4 line5', 'line6', 'line7*line8']
指定分割次数大于分割符数,返回最大分割数的结果,程序不报错:
a = "line1_Dylan\nline2 line3\tline4 line5*line6*line7*line8"
print(a.split('*',5))
#返回结果
# ['line1_Dylan\nline2 line3\tline4 line5', 'line6', 'line7', 'line8']
分割两次,并取序列为1的项:
a = "line1_Dylan line2 line3 line4 line5 line6 line7 line8"
print(a.split(' ',4)[1])
#返回结果
#line2
分割最多次(与实际不加num参数的相同):
a = "line1_Dylan line2 line3 line4 line5 line6 line7 line8"
print(a.split(' ',-1))
#返回结果
#['line1_Dylan', 'line2', 'line3', 'line4', 'line5', 'line6', 'line7', 'line8']
分割两次次,把分割后三部分保存到三个变量中去:
a = "line1_Dylan line2 line3"
a1,a2,a3= a.split(' ',2)
print(a1)
print(a2)
print(a3)
#返回结果
#line1_Dylan
# line2
# line3
注:指定分割符时只能指定一个分割符,不能指定多个,指定多个会报错。