我的网址目前看起来像www.example.com/explore/above%20&%20beyond
我想要一个像www.example.com/explore/above-and-beyond
这是我的 urls.py
url(r'^explore/(?P<dj_name>[a-zA-Z0-9 \'&-]+)/$', views.explore_dj, name='explore_dj')
如何使用正则表达式将%20
-
替换为&
,and
替换为SlugField
?
我理所当然地知道我应该使用{{1}}来实现这一点,但是我必须删除我的数据库表以对模型进行更改,这不是一个选项。
答案 0 :(得分:3)
在这种情况下我会做的是以下内容。如果您不坚持使用正则表达式,您可能需要考虑它。
'www.example.com/explore/above%20&%20beyond'.replace('%20','-').replace('&','and')
答案 1 :(得分:-1)
re.sub(r'&','and',re.sub(r'%20','-',url_string))
>>> url_string = 'www.example.com/explore/above%20&%20beyond'
>>> url_string
'www.example.com/explore/above%20&%20beyond'
>>> re.sub(r'&','and',re.sub(r'%20','-',url_string))
'www.example.com/explore/above-and-beyond'