2012-05-02 46 views
27

Tôi đang sử dụng request.path để trả lại URL hiện tại ở Django và trả lại /get/category.Xóa dấu gạch chéo đầu và cuối/

Tôi cần nó là get/category (không có dấu gạch chéo đầu và cuối).

Làm thế nào tôi có thể làm điều này?

+4

Tại sao bạn không muốn dấu gạch chéo hàng đầu? –

Trả lời

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

strip() là cách thích hợp để thực hiện việc này.

+5

strip() cũng sẽ xử lý nhiều "/" của –

+29

Lưu ý cũng là sự tồn tại của 'lstrip()' và 'rstrip()', trong trường hợp bạn muốn, ví dụ: xóa dấu gạch chéo ở cuối nhưng giữ lại các dấu gạch ngang hàng đầu. –

+1

Thực ra, tôi nghĩ bạn nên sử dụng '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 

Bỏ liên kết str.strip(), điều này được đảm bảo để loại bỏ tối đa là một trong những dấu gạch chéo ở mỗi bên.

5

Một số khác với biểu thức thông thường:

>>> import re 
>>> s = "/get/category" 
>>> re.sub("^/|/$", "", s) 
'get/category' 
Các vấn đề liên quan