2012-05-02 8 views
27

Ich verwende request.path, um die aktuelle URL in Django zurückzugeben, und es gibt /get/category zurück.Entfernen führenden und abschließenden Schrägstrich/

Ich brauche es als get/category (ohne führenden und abschließenden Schrägstrich).

Wie kann ich das tun?

+4

Warum Sie den führenden Schrägstrich nicht wollen? –

Antwort

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

strip() ist der richtige Weg, dies zu tun.

+5

strip() kümmert sich auch um mehrere "/" s –

+29

Beachten Sie auch die Existenz von 'lstrip()' und 'rstrip()', falls Sie z. Entfernen Sie nachfolgende Schrägstriche, aber behalten Sie führende. –

+1

Eigentlich denke ich, Sie sollten '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 

Unlink str.strip() wird dies garantiert auf jeder Seite höchstens eine der Schrägstriche zu entfernen.

5

Ein anderes mit regulären Ausdrücken:

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