【发布时间】:2012-05-11 15:17:00
【问题描述】:
我正在使用request.path 在 Django 中返回当前 URL,它正在返回 /get/category。
我需要它作为get/category(没有前导和尾随斜杠)。
我该怎么做?
【问题讨论】:
-
为什么不想要前导斜杠?
我正在使用request.path 在 Django 中返回当前 URL,它正在返回 /get/category。
我需要它作为get/category(没有前导和尾随斜杠)。
我该怎么做?
【问题讨论】:
你可以试试:
"/get/category".strip("/")
【讨论】:
def remove_lead_and_trail_slash(s):
if s.startswith('/'):
s = s[1:]
if s.endswith('/'):
s = s[:-1]
return s
与str.strip() 不同,这保证最多删除每侧的一个斜线。
【讨论】:
另一个有正则表达式的:
>>> import re
>>> s = "/get/category"
>>> re.sub("^/|/$", "", s)
'get/category'
【讨论】:
>>> "/get/category".strip("/")
'get/category'
strip() 是这样做的正确方法。
【讨论】:
lstrip() 和 rstrip() 的存在,以防你想例如删除尾部斜杠但保留前导斜杠。
strip(os.sep)
os.path.normpath(*path*) 将去除尾部斜杠。