在Python的高级特性里有切片(Slice)操作符,可以对字符串进行截取。Python还提供split()函数可以将一个字符串分裂成多个字符串组成的列表。

split()的语法挺简单的:

str.split(sep, maxsplit).

sep 是分割符,不写分割符时表示所有的空字符,包括空格、换行(\n)、制表符(\t)等,有分隔符时,以该分隔符进行分割。

maxsplit是分割次数。也是可选参数,默认为-1,即以所有出现次数分割。

 

eg:不写分隔符

L = '100 200 300\n400\t500'
print(L.split())
# 执行结果:['100', '200', '300', '400', '500']

结论:当不带参数时,默认是以空字符作为参数,不管空字符在哪,或者有几个全部被分割了!

 

eg:分割1次

L = '100 200 300\n400\t500'
print(L.split(' ', 1))
# 执行结果:['100', '200 300\n400\t500']

 

eg:以”+”号为分割符

L = '+100+200+300+400+500+'
print(L.split('+'))
# 执行结果:['', '100', '200', '300', '400', '500', '']

结论:从左往右分割,遇到一个’+’号分割一次,左边的部分分割完做为list的一个元素,直到分割完

 

一个重量级的例子:

str='hello world[www.wxx86.cn]python'
print(str.split('['))
print(str.split('[')[1].split(']'))
print(str.split('[')[1].split(']')[0].split('.'))

#执行结果:
#['hello world', 'www.wxx86.cn]python']
#['www.wxx86.cn', 'python']
#['www', 'wxx86', 'cn']