2012-05-02 17 views
27

हटाएं मैं Django में वर्तमान यूआरएल वापस करने के लिए request.path का उपयोग कर रहा हूं, और यह /get/category लौटा रहा है।अग्रणी और पिछला स्लैश/

मुझे इसे get/category (बिना अग्रणी और पिछला स्लैश के) की आवश्यकता है।

मैं यह कैसे कर सकता हूं?

+4

तुम क्यों अग्रणी स्लैश नहीं करना चाहते हैं? –

उत्तर

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

strip() ऐसा करने का सही तरीका है।

+5

स्ट्रिप() कई "/" के –

+29

का भी ख्याल रखेगा यदि आप उदास करना चाहते हैं तो 'lstrip()' और 'rstrip()' का अस्तित्व भी ध्यान दें। पिछली स्लैश को हटा दें लेकिन प्रमुख लोगों को सुरक्षित रखें। –

+1

दरअसल, मुझे लगता है कि आपको 'स्ट्रिप (ओ.एस.एस.पी.पी.)' –

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' 
संबंधित मुद्दे