一、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