python字符串操作--split()方法从最左边开始分隔字符串

使用分隔符 sep最左边 开始分隔字符串,并返回以分隔的字符串为项的 列表

格式及参数

1
str.split(sep=None, maxsplit=-1)

str : 字符串对象

sep : 分隔符,如果未指定或为 None ,默认按所有的空白字符串(空格、换行符\n、制表符\t等)分隔

maxsplit : 表示分隔次数,它会分割成 maxsplit+1 个子字符串,默认 -1 ,即分隔所有

参考资料

实例(3.8.8)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
str = '11 22 33\n44\t55'  # 字符串序列

print(str.split()) # 按 所有空白字符串 分隔
print(str.split(' ')) # 按 空格 分隔
print(str.split(' ', 1)) # 按 空格 分隔成 2 个子字符串
print(str.split('\n')) # 按换行符 \n 分隔
print(str.split('\t')) # 按制表符 \t 分隔

'''输出
['11', '22', '33', '44', '55']
['11', '22', '33\n44\t55']
['11', '22 33\n44\t55']
['11 22 33', '44\t55']
['11 22 33\n44', '55']
'''

补充

如果给出了 sep ,则连续的分隔符不会被组合在一起而是被视为分隔空字符串,例如:

1
2
3
4
5
6
str = 'abbc'
print(str.split('b'))

'''输出
['a', '', 'c']
'''

sep 参数可能由多个字符组成,例如:

1
2
3
4
5
6
str = 'a<>b<>c'
print(str.split('<>'))

'''输出
['a', 'b', 'c']
'''

如果 sep 未指定或为 None ,则连续的空格会被视为单个分隔符,其结果将不包含开头或末尾的空字符串,如果字符串包含前缀或后缀空格的话
使用 None 拆分空字符串或仅包含空格的字符串将返回 [] ,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
str1 = '   a   b   c   '
print(str1.split())
'''输出
['a', 'b', 'c']
'''

str2 = '' # 空字符串
print(str2.split())
'''输出
[]
'''

str3 = ' ' # 空格字符串
print(str3.split())
'''输出
[]
'''