1. 程式人生 > >精簡程式碼:Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串。

精簡程式碼:Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串。

 Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串。

  1. In [1]: s = "www jeapedu com"
  2. In [2]: print s.split()  
  3. ['www''jeapedu''com']  

    當然可以改變sep分割字串為其他字串。
  1. In [6]: t = "www.jeapedu.com"
  2. In [7]: print t.split(".")  
  3. ['www''jeapedu''com']  
    python的字串類裡還提供了splitlines方法函式。
  1. splitlines(...)  
  2.     S.splitlines(keepends=False) -> list of strings  
  3.     Return a list of the lines in S, breaking at line boundaries.  
  4.     Line breaks are not included in the resulting list unless keepends  
  5.     is given and true.  
    splitlines函式什麼意思呢?
  1. In [8]: u = "www.jeapedu.com\nwww.chinagame.me\nwww.quanzhan.org"
  2. In [9]: print u.splitlines()  
  3. ['www.jeapedu.com''www.chinagame.me''www.quanzhan.org']  
這個例子不好,因為用split('\n')也可以分割成上面的結果。
  1. In [13]: u = "www.jeapedu.com\nwww.chinagame.me\nwww.quanzhan.org"
  2. In [14]: print u.split("\n")  
  3. ['www.jeapedu.com''www.chinagame.me''www.quanzhan.org']  
 結果一樣,但是下面的測試用例就必須用splitlines了。
  1. t =  """www.jeapedu.com 
  2.        www.chinagame.me 
  3.        www.quanzhan.org 
  4.      """
  5.     print t.splitlines()  

     程式結果如下所示:

  1. ['www.jeapedu.com''       www.chinagame.me''   www.quanzhan.org']  

       結果不太好,用strip函式去掉字串前後的空格。

   好,至此splitlines的基本使用已經解析完成,那splitlines裡的引數keepends又是什麼意思呢?

  1. t =  """www.jeapedu.com 
  2.        www.chinagame.me 
  3.        www.quanzhan.org 
  4.      """
  5. print t.splitlines()  
  6. print t.splitlines(True)  
    預設splitelines引數keepends為False,意思是不保留每行結尾的\n, 而keepends為True時,分割的每一行裡尾部會有\n。

    總結,splitlines是按行分割字串,返回值也是個列表。