2012-05-02 1 views
27

Я использую request.path, чтобы вернуть текущий URL-адрес в Django, и он возвращает /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' 

 Смежные вопросы

  • Нет связанных вопросов^_^