这里是清安,在讲字符串的时候我们讲过过一些字符串的神奇用法,比如strip方法的部分运用。分别是
name = 'python '
name1 = ' python'
name2 = ' python '
# 删除末尾的空格
print(name.rstrip())
# 删除开头的空格
print(name1.lstrip())
# 删除两边的空格
print(name2.strip())
那么本章,我们一起再来看看另一个方法split的一些用法是怎么样的。
先看下面这个例子:
s= 'http www.QINGANA. QING 5'
默认拆分,会按照例子中的空格进行默认分隔,并以列表的形式呈现
默认拆分
print(s.split())
# ['http', 'www.QINGANA.', 'QING', '5']
以.号分隔,并以列表形式呈现
. 拆分
print(s.split('.'))
# ['http www', 'QINGANA', ' QING 5']
.拆分1次、两次
# 分割一次 2次
print(s.split('.',1))
print(s.split('.',2))
# ['http www', 'QINGANA. QING 5']
# ['http www', 'QINGANA', ' QING 5']
取出被.拆分,下标为1的字符串
# 取出被 . 分割的下标为1的字符串
print(s.split('.',2)[1])
# QINGANA
与默认拆分效果一致的写法
print(s.split('.',-1))
# ['http www', 'QINGANA', ' QING 5']
拆分三次
这里跟上面所说的拆分1次,2次是不一样的,但是同样是以点号拆分的,只不过是以不同变量打印出来了,上述的例子,也是可以通过for循环拿到结果的。
s1, s2, s3 = s.split('.', 2)
print(s1)
print(s3)
print(s2)
# http www
# QING 5
# QINGANA
去掉换行符 \n \t
c = '''hello
world'''
print(c)
print(c.split('\n'))
print(c.split('\t'))
# hello
# world
# ['hello', ' world']
# ['hello\n world']
如果这样你觉得不明显!那就加上\n,\t。
c = '''hello\n
world\t'''
print(c)
print(c.split('\n'))
print(c.split('\t'))
"""
hello
world
['hello', '', ' world\t']
['hello\n\n world', '']
"""
拆分文件名和路径
#os.path.split():按照路径将文件名和路径分割开
import os
print(os.path.split('/QINGAN/soft/python/'))
print(os.path.split('/QINGAN/soft/python'))
# ('/QINGAN/soft/python', '')
# ('/QINGAN/soft', 'python')
这里的路径是随意写的,带"/“跟不带”/"表达的意思就完全不同了。
实用小例子
a= 'hello QINGAN<[www.QINGAN.com.cn]>GOOD'
# 以[分割
print(a.split('['))
# 以[分割去下标为1的值
print(a.split('[')[1])
# 以[分割后取值下标为1的值,然后再次已]分割取下标为0的值
print(a.split('[')[1].split(']')[0])
# 以[分割后取值下标为1的值,然后再次以]分割取下标为0的值在次以.分割
print(a.split('[')[1].split(']')[0].split('.'))
# ['hello QINGAN<', 'www.QINGAN.com.cn]>GOOD']
# www.QINGAN.com.cn]>GOOD
# www.QINGAN.com.cn
# ['www', 'QINGAN', 'com', 'cn']