【轉載】Python字串操作之字串分割與組合

菜鳥學飛ing發表於2018-11-13

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

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()函式去除一些特殊字元

#去掉字串中的換行符

>>> str2 = ```hello
... world
... !```
>>> str2.split(`
`)
[`hello`, `world`, `!`]

   5)、分割檔案和其路勁

>>> import os
>>> print os.path.split("d:	esta.txt")
(`d:`, `	estx07.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: esta.txt,是得不到我們想要的結果,必須將再加一個’’來轉義第二個’’才行,或者直接寫成d:/test/a.txt這樣。

 

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

 

 

原文轉載於:https://blog.csdn.net/seetheworld518/article/details/47346527

相關文章