一、起因
今天在做角色控制中,有一個(gè)地方用到rstrip,判斷用戶(hù)請(qǐng)求的url是否與數(shù)據(jù)庫(kù)對(duì)應(yīng)可用權(quán)限中url相符。
if request.path == x.url or request.path.rstrip('/') == x.url: #精確匹配,判斷request.path是否與permission表中的某一條相符
借此機(jī)會(huì)總結(jié)一下python中strip,lstrip和rstrip。
二、介紹
Python中strip用于去除字符串的首位字符,同理,lstrip用于去除左邊的字符,rstrip用于去除右邊的字符。
這三個(gè)參數(shù)都可以傳入一個(gè)參數(shù),指定要去除的首尾字符。
需要注意的是,傳入的是一個(gè)字符數(shù)組,編譯器去除兩端所有匹配的字符,直到?jīng)]有匹配的字符,比如:
1
2
3
4
|
>>> testString = "saaaay yes no yaaaass" >>> print testString.strip( 'say' ) yes no >>> |
可見(jiàn),testString依次被去除首尾在['s','a','y']數(shù)組內(nèi)的字符,直到剩余字符不再數(shù)組內(nèi)。所以輸出yes no。
Note:
當(dāng)沒(méi)有傳入?yún)?shù)時(shí),默認(rèn)去除首尾空格。
lstrip和rstrip原理一樣。
舉例:
1
2
3
4
5
6
7
8
9
10
|
>>> testString = "saaaay yes no yaaaass" >>> print testString.strip( 'say' ) yes no #以空格開(kāi)頭和結(jié)尾的 >>> print testString.strip( 'say ' ) es no #開(kāi)頭結(jié)尾均無(wú)空格 >>> print testString.lstrip( 'say' ) yes no yaaaass #以空格開(kāi)頭 >>> print testString.rstrip( 'say' ) saaaay yes no #以空格結(jié)尾 >>> |
可以對(duì)照編輯器中選中狀態(tài)的這張圖理解
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。