1. 程式人生 > >【轉載】Python字串操作之字串分割與組合

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

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

#去掉字串中的換行符\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這樣。

 

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