1. 程式人生 > >Python split() 函式 拆分字串 將字串轉化為列

Python split() 函式 拆分字串 將字串轉化為列

函式:split()

Python中有split()和os.path.split()兩個函式,具體作用如下:
split():拆分字串。通過指定分隔符對字串進行切片,並返回分割後的字串列表(list)
os.path.split():按照路徑將檔名和路徑分割開

一、函式說明
1、split()函式
語法:str.split(str="",num=string.count(str))[n]

引數說明:
str:   表示為分隔符,預設為空格,但是不能為空('')。若字串中沒有分隔符,則把整個字串作為列表的一個元素
num:表示分割次數。如果存在引數num,則僅分隔成 num+1 個子字串,並且每一個子字串可以賦給新的變數
[n]:   表示選取第n個分片

注意:當使用空格作為分隔符時,對於中間為空的項會自動忽略

2、os.path.split()函式
語法:os.path.split('PATH')

引數說明:
PATH指一個檔案的全路徑作為引數:
如果給出的是一個目錄和檔名,則輸出路徑和檔名
如果給出的是一個目錄名,則輸出路徑和為空檔名


二、例項
1、常用例項
>>> u = "www.doiido.com.cn"

#使用預設分隔符
>>> print u.split()
['www.doiido.com.cn']

#以"."為分隔符
>>> print u.split('.')
['www', 'doiido', 'com', 'cn']

#分割0次
>>> print u.split('.',0)
['www.doiido.com.cn']

#分割一次
>>> print u.split('.',1)
['www', 'doiido.com.cn']

#分割兩次
>>> print u.split('.',2)
['www', 'doiido', 'com.cn']

#分割兩次,並取序列為1的項
>>> print u.split('.',2)[1]
doiido

#分割最多次(實際與不加num引數相同)
>>> print u.split('.',-1)
['www', 'doiido', 'com', 'cn']

#分割兩次,並把分割後的三個部分儲存到三個檔案
>>> u1,u2,u3 = u.split('.',2)
>>> print u1
www
>>> print u2
doiido
>>> print u3
com.cn

2、去掉換行符
>>> c = '''say
hello
baby'''

>>> print c
say
hello
baby

>>> print c.split('\n')
['say', 'hello', 'baby']

3、分離檔名和路徑
>>> import os
>>> print os.path.split('/dodo/soft/python/')
('/dodo/soft/python', '')
>>> print os.path.split('/dodo/soft/python')
('/dodo/soft', 'python')

4、一個超級好的例子
>>> str="hello boy<[www.doiido.com]>byebye"

>>> print str.split("[")[1].split("]")[0]
www.doiido.com

>>> print str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']