12、字元串的分割群組合
12.1 str.split():字元串分割函數
通過指定分隔符對字元串進行切片,并傳回分割後的字元串清單。
文法:
str.split(s, num)[n]
參數說明:
s:表示指定的分隔符,不寫的話,預設是空格(’ ‘)。如果字元串中沒有給定的分隔符時,則把整個字元串作為清單的一個元素傳回。
num:表示分割次數。如果指定了參數num,就會将字元串分割成num+1個子字元串,并且每一個子字元串可以賦給新的變量。
[n]:表示選取第n個分片,n表示傳回的list中元素下标,從0開始的。
12.2 os.path.split():路徑檔案分割函數
按照路徑将檔案名和路勁分割開,這裡需要引入os包(import os)。
文法:
os.path.split(‘PATH’)
參數說明:
PATH指一個檔案所在的絕對路勁
執行個體:
1)、split()函數常用的一些執行個體
#定義一個字元串str1
>>> str1 = "3w.gorly.test.com.cn"
#使用預設分隔符分割字元串str1
>>> printstr1.split()
['3w.gorly.test.com.cn']#指定分隔符為'.',進行分割字元串str1
>>> print str1.split('.')
['3w', 'gorly', 'test', 'com', 'cn']#指定分隔符為'.',并且指定切割次數為0次
>>> print str1.split('.',0)
['3w.gorly.test.com.cn']#指定分隔符為'.',并且指定切割次數為1次
>>> print str1.split('.',1)
['3w', 'gorly.test.com.cn']#指定分隔符為'.',并且指定切割次數為2次
>>> print str1.split('.',2)
['3w', 'gorly', 'test.com.cn']#這種分割等價于不指定分割次數str1.split('.')情況
>>> print str1.split('.',-1)
['3w', 'gorly', 'test', 'com', 'cn']#指定分隔符為'.',并取序列下标為0的項
>>> print str1.split('.')[0]
3w#指定分隔符為'.',并取序列下标為4的項
>>> print str1.split('.')[4]
cn
2)、統計字元串中出現的單詞個數
>>> str2 = "This is the voa special english health report"
>>> list1 = str2.split(' ')>>>list1
['This', 'is', 'the', 'voa', 'special', 'english', 'health', 'report']>>>len(list1)8
3)、多次連續使用split()函數
例如:将從html代碼中提取網站位址
>>> s = 'test'
>>> print s.split('"')[1]
www.test.com>>> print s.split('"')[1].split('.')
['www', 'test', 'com']
4)、使用split()函數去除一些特殊字元
#去掉字元串中的換行符\n
>>> str2 = '''hello
... world
... !'''
>>> str2.split('\n')
['hello', 'world', '!']
5)、分割檔案和其路勁
>>> importos>>> print os.path.split("d:\test\a.txt")
('d:', '\test\x07.txt')>>> print os.path.split('d:/test/a.txt')
('d:/test', 'a.txt')>>> print os.path.split('d:\\test\\a.txt')
('d:\\test', 'a.txt')
從上面的結果可以看出,如果我們路勁寫成d:\test\a.txt,是得不到我們想要的結果,必須将再加一個’\’來轉義第二個’\’才行,或者直接寫成d:/test/a.txt這樣。
12.3 str.join(seq):将序列組合成字元串函數
文法:s.join(seq)
參數說明:
s:給定的連接配接符
seq:代表要連接配接的序列,如list、tuple、str的序列
執行個體:
1)、普通字元串的連接配接(隻能針對字元或字元串進行連接配接)
>>> '-'.join("abdcd")'a-b-d-c-d'
>>> list1 = ['a','b','c']>>> ''.join(list1)'abc'
2)、字元串分割函數和字元串組合函數組合使用的情況
>>> s = 'test'
>>> print s.split('"')[1]
www.test.com>>> print s.split('"')[1].split('.')
['www', 'test', 'com']>>> print '.'.join(s.split('"')[1].split('.'))
www.test.com
來源于 https://blog.csdn.net/seetheworld518/article/details/47346527