2012-05-02 50 views
27

我使用request.path返回Django中的当前URL,它返回/get/category删除前后斜杠/

我需要它作为get/category(没有开头和结尾的斜线)。

我怎样才能做到这一点?

+4

为什么你不想要的前导斜杠? –

回答

82
>>> "/get/category".strip("/") 
'get/category' 

strip()是这样做的正确方法。

+5

strip()也会处理多个“/”的 –

+29

还要注意,如果你想要例如“lstrip()”和“rstrip()”的存在,删除尾部斜线但保留领先的斜线。 –

+1

实际上,我认为你应该使用'strip(os.sep)' –

6
def remove_lead_and_trail_slash(s): 
    if s.startswith('/'): 
     s = s[1:] 
    if s.endswith('/'): 
     s = s[:-1] 
    return s 

取消链接str.strip(),这是保证除去每一侧上的斜线的至多一个。

5

另外一个正则表达式:

>>> import re 
>>> s = "/get/category" 
>>> re.sub("^/|/$", "", s) 
'get/category'