python—字符串的切割


1.字符串的分割和組合

1.1 str.split():字符串分割函數 

通過指定分隔符對字符串進行切片,並返回分割后的字符串列表。

 

語法: 
str.split(s, num)[n] 
參數說明: 
s:表示指定的分隔符,不寫的話,默認是空格(’ ‘)。如果字符串中沒有給定的分隔符時,則把整個字符串作為列表的一個元素返回。 
num:表示分割次數。如果指定了參數num,就會將字符串分割成num+1個子字符串,並且每一個子字符串可以賦給新的變量。 
[n]:表示選取第n個分片,n表示返回的list中元素下標,從0開始的。

 

1.2 os.path.split():路徑文件分割函數 
按照路徑將文件名和路勁分割開,這里需要引入os包(import os)。 
語法: 
os.path.split(‘PATH’) 
參數說明: 
PATH指一個文件所在的絕對路徑

實例: 
1)、split()函數常用的一些實例

#定義一個字符串str1
>>> str1 = "3w.gorly.test.com.cn"

#使用默認分隔符分割字符串str1
>>> print str1.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 = '<a href="www.test.com">test</a>'
>>> 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)、分割文件和其路徑

>>> import os
>>> 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這樣。

 

1.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 = '<a href="www.test.com">test</a>'
>>> print s.split('"')[1]
www.test.com
>>> print s.split('"')[1].split('.')
['www', 'test', 'com']
>>> print '.'.join(s.split('"')[1].split('.'))
www.test.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM