天天看點

python 字元串分割_Python字元串操作之字元串分割與組合

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