一、str.split() 字符串分割函数
语法:
str.split(self,value)[x]
self:指定的分割符号;非必输项,
没有指定符号,默认为空格 ‘ ’ 。
字符串中没有指定的分隔符是,则把整个字符串作为列表(list)一个元素返回。
value:分割次数;非必输项,
指定value值,将会将会以value个self进行分割,
[x]:取返回list中的元素,x代表list元素下标,取第一个,从0开始;取最后一个,从-1开始
二、split()函数常用实例(同理可以用字符串中其他存在的元素进行分割)
1 #定义一个字符串 str
2 str = 'sds.2ds.32.sd..43.sd.fsdg434.dfsd2.3sdfsd'
3
4 #使用split()进行分割字符串str,split()函数不加任何参数
5 print(str.split())
6
7 #返回结果
8 str = 'sds.2ds.32.sd..43.sd.fsdg434.dfsd2.3sdfsd'
9
10 #指定分割符号为'.'(不指定分割次数),进行分割字符串str
11 print(str.split('.'))
12
13 #返回结果
14 ['sds', '2ds', '32', 'sd', '', '43', 'sd', 'fsdg434', 'dfsd2', '3sdfsd']
15
16 #指定分隔符为'.',分割次数为0次
17 print(str.split('.', 0))
18
19 #返回结果
20 ['sds.2ds.32.sd..43.sd.fsdg434.dfsd2.3sdfsd']
21
22 #指定分隔符为'.',分割次数为1次
23 print(str.split('.', 1))
24
25 #返回结果
26 ['sds', '2ds.32.sd..43.sd.fsdg434.dfsd2.3sdfsd']
27
28 #指定分隔符为'.',分割次数为5次
29 print(str.split('.', 5))
30
31 #返回结果
32 ['sds', '2ds', '32', 'sd', '', '43.sd.fsdg434.dfsd2.3sdfsd']
33
34 #指定分隔符为'.',分割次数为9次
35 print(str.split('.', 9))
36
37 #返回结果
38 ['sds', '2ds', '32', 'sd', '', '43', 'sd', 'fsdg434', 'dfsd2', '3sdfsd']
39
40 #指定分隔符为'.',分割次数为10次,大于字符串内的'.'数量时以'.'的最大数量进行分割
41 print(str.split('.', 10))
42
43 #返回结果
44 ['sds', '2ds', '32', 'sd', '', '43', 'sd', 'fsdg434', 'dfsd2', '3sdfsd']
45
46 #指定分隔符为'.',分割次数为-1次,分割次数为负数时等于不指定分割次数
47 print(str.split('.', -1))
48
49 #返回结果
50 ['sds', '2ds', '32', 'sd', '', '43', 'sd', 'fsdg434', 'dfsd2', '3sdfsd']
51
52 #指定分隔符为'.',分割次数不指定,取下标为0的元素
53 print(str.split('.')[0])
54
55 #返回结果
56 sds
57
58 #指定分隔符为'.',分割次数不指定,取下标为8的元素
59 print(str.split('.')[8])
60
61 #返回结果
62 dfsd2
63
64 #在字符串中存在连续2个分割符号时,注意看元素下标为4的元素
65 print(str.split('.'))
66
67 #返回结果
68 ['sds', '2ds', '32', 'sd', '', '43', 'sd', 'fsdg434', 'dfsd2', '3sdfsd']
三、多次连续使用split()函数
例如:将从html代码中提取网站地址
1 s = '<a href="www.test.com">test</a>'
2 print(s.split('"')[1])
3
4 print(s.split('"')[1].split('.'))
5
6 #返回结果
7 www.test.com
8 ['www', 'test', 'com']
四、使用split()函数去除特殊字符
1 #定义一个换行的字符串s
2 s = '''ni
3 hao
4 ma
5 ?'''
6 print(s)
7 #用'\n'进行字符串s分割
8 print(s.split('\n'))
9
10 #返回结果
11 ['ni', 'hao', 'ma', '?']
五、统计分割后的个数
1 #统计分割后的个数
2 str = 'sds.2ds.32.sd..43.sd.fsdg434.dfsd2.3sdfsd'
3 print(len(str.split('.')))
4
5 #返回结果
6 10