这里是清安,在讲字符串的时候我们提起过一些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']