字符串切片講完之后,來看strip,它是字符串這個類型專有的功能。左右時取出字符串左右兩端的空格。
現(xiàn)在我東一一個字符串,name=‘ 于謙 ’。左右兩端都有空格。
name = ' 于謙 '
然后輸入name.st,這個時候Pycharm就會自動給我們提示strip功能可以選擇。注意strip是字符串的功能,并不是這個變量名的功能。因為這個變量指向的是這個字符串,所以我們用變量名點的時候,就相當于用的它所指向的字符串在點。
前面我們學列表的時候,列表也有個專有的功能叫append,還記得嗎?現(xiàn)在是name。strip 。所以那處理的及時name,由于字符串是不可變類型,所以我們沒辦法去改變原值。
然后選擇strip這個功能處理完之后會返回一個新的值給我們,所以我們需要前面定義一個新的變量名res,然后打印一下res。
name = ' 于謙 '
res = name.strip()
print(res)
我們可以看到,打印結果是把左右兩邊的空格全部都給去除了。
這里要注意,strip只能去除字符串左右兩端的空格,如果字符串中間有空格的話它是去不掉的。
還是剛才的代碼,我在于謙的中間加空格,然后打印看看。
name = ' 于 謙 '
res = name.strip()
print(res)
原因是,它從兩端開始掃描,只要遇到一個字符不是空格,立馬就停住了。然后再從最后開始掃描有沒有空格,直到沒有空格結束,然后返回給新的變量名。
strip還有個知識點,剛才Pycharm就有給我們提示,括號里可以傳兩個參數(shù),第一個是self,另一個是chars。我們先不管這兩個是什么意思,現(xiàn)在只要記住,self就當它不存在,等我們后面講到類再詳細講。所以strip參數(shù)只需要傳一個chars。
chars的意思就是,你要去掉的字符串左右兩端的什么符號。
剛剛的代碼里面,我們什么都沒有傳,那就是默認取出左右兩端的空格,現(xiàn)在我剛才的代碼兩邊加上一下符號,再來打印。
name = '!!! 于 謙 !!!'
res = name.strip('!')
print(res)
我們可以看到,把兩端的感嘆號就全部去除了。
如果你的代碼有很多符號,你都想去掉,你只要在strip空格里面全部都加進去你想要去除的符號就行了。
name = '@#$%^!!! 于 謙 !!!@#$%^'
res = name.strip('!@#$%^')
print(res)
未經允許不得轉載:445IT之家 » 63、Python 字符串詳解之strip函數(shù)