Python3中strip()、lstrip()、rstrip()用法詳解

pythontab發表於2019-03-03

Python中有三個去除頭尾字元、空白符的函式,它們依次為:

strip: 用來去除頭尾字元、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)

lstrip:用來去除開頭字元、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)

rstrip:用來去除結尾字元、空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)

從字面可以看出r=right,l=left,strip、rstrip、lstrip是開發中常用的字串格式化的方法。

注意:這些函式都只會刪除頭和尾的字元,中間的不會刪除。

函式語法分別為:

string.strip([chars])
string.lstrip([chars])
string.rstrip([chars])

引數chars是可選的,當chars為空,預設刪除string頭尾的空白符(包括\n、\r、\t、' ')

當chars不為空時,chars看成一個的字元的列表,是否會刪除的前提是從字串最開頭和最結尾是不是包含要刪除的字元,如果有就會繼續處理,沒有的話是不會刪除中間的字元的。

返回值:去除頭尾字元(或空白符)的string副本,string本身不會發生改變。

適用Python版本: Python2Python3都支援,且用法相同

程式碼例項:

1. 當chars為空時,預設刪除空白符(包括'\n', '\r', '\t', ' ')

>>> name = ' www.pythontab.com '
>>> name
' www.pythontab.com '
>>> name.strip() #刪除頭尾空格
'www.pythontab.com'
>>> name.lstrip() #刪除開頭空格
'www.pythontab.com '
>>> name.rstrip() #刪除結尾空格
' www.pythontab.com'

2.當chars不為空時,函式會被chars解成一個個的字元,然後將這些字元去掉。

>>> name = '-# www.pythontab.com #-' 
>>> name
'-# www.pythontab.com #-' 
>>> name.strip('#-') #刪除開頭和結尾的#和-,空格被保留了
' www.pythontab.com '
>>> 
>>> name.lstrip('12') #刪除開頭的#和-
' www.pythontab.com #-' 
>>> name.rstrip('12') #刪除結尾的#和-
'-# www.pythontab.com '

注意:在chars設定了值以後,它會把#-看成兩個單獨的字元,所以和#-的順序無關,並且這時候空白符(包括\n、\r、\t、' ',即:換行、回車、製表符、空格)就不會被刪除了


相關文章