一、起因
今天在做角色控制中,有一個地方用到rstrip,判斷用戶請求的url是否與數據庫對應可用權限中url相符。
if request.path == x.url or request.path.rstrip('/') == x.url: #精確匹配,判斷request.path是否與permission表中的某一條相符
借此機會總結一下python中strip,lstrip和rstrip。
二、介紹
Python中strip用於去除字符串的首位字符,同理,lstrip用於去除左邊的字符,rstrip用於去除右邊的字符。
這三個參數都可以傳入一個參數,指定要去除的首尾字符。
需要注意的是,傳入的是一個字符數組,編譯器去除兩端所有匹配的字符,直到沒有匹配的字符,比如:
>>> testString="saaaay yes no yaaaass" >>> print testString.strip('say') yes no >>>
可見,testString依次被去除首尾在['s','a','y']數組內的字符,直到剩余字符不再數組內。所以輸出yes no。
Note:
當沒有傳入參數時,默認去除首尾空格。
lstrip和rstrip原理一樣。
舉例:
>>> testString="saaaay yes no yaaaass" >>> print testString.strip('say') yes no #以空格開頭和結尾的
>>> print testString.strip('say ') es no#開頭結尾均無空格 >>> print testString.lstrip('say') yes no yaaaass#以空格開頭 >>> print testString.rstrip('say') saaaay yes no #以空格結尾 >>>
可以對照編輯器中選中狀態的這張圖理解