Press "Enter" to skip to content

Python之split()函数:分离/分割字符串

split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)。用人话翻译过来就是(Python提供的split()函数可以将一个字符串分裂成多个字符串组成的列表。)

split()语句:

str.split(sep, maxsplit)

参数说明:

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

maxsplit:是分割次数。

举个例子:

不写分隔符

str = '100 200 300\n400\t500'
print(str.split())

#运行结果:['100', '200', '300', '400', '500']

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

分割1次

str = '100 200 300\n400\t500'
print(str.split(' ',1))

#运行结果:['100', '200 300\n400\t500']

以”+”号为分割符

str = '+100+20+300+400+500+'
print(str.split('+'))

#运行结果:['', '100', '20', '300', '400', '500', '']

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

下面再举个重量级的例子:

str = 'hello world[www.zhangguoli.cn]python'
print(str.split('['))

#运行结果:['hello world', 'www.zhangguoli.cn]python']
str = 'hello world[www.zhangguoli.cn]python'
print(str.split('[')[1].split(']'))

#运行结果:['www.zhangguoli.cn', 'python']
str = 'hello world[www.zhangguoli.cn]python'
print(str.split('[')[1].split(']')[0].split('.'))

#运行结果:['www', 'zhangguoli', 'cn']

这里split(‘.’)[1] 是一种缩写形式,把它拆开来看实际就是,先用split(‘.’)方法将字符串以”.”开割形成一个字符串数组,然后再通过索引[1]取出所得数组中的第二个元素的值

split(‘.’)[-1]

如果索引是负指标,那么最后一个元素是语法糖在访问元素顺序颠倒,从右到左,在-1开始。所以-1是最后一项,-2是倒数第二项,依此类推


拓展知识:

在series中使用split()时,要注意,我们平时取值的时候一般是这样的:

series.astype('str').split(" ")[0]

这样取值会报错的,正确的方式应该是这样的:

series.astype('str').str.split(" ").str[0]

后面取值的时候也要加上str

One Comment

发表评论

您的电子邮箱地址不会被公开。