我有这个字符串:
orderby=alphabetical&page=3
但它甚至可以是这样的:
orderby=alphabetical&other=param&page=1234
我想要做的是从该字符串中删除参数&page=[Number]
以这种方式获得以下字符串:
orderby=alphabetical&other=param
我该怎么做?
答案 0 :(得分:4)
您可以使用parse.parse_qsl
将参数字符串分解为名称/值对列表。然后使用list comprehension过滤掉name
等于'page'
的任何名称/值对。最后,使用parse.urlencode
:
import urllib.parse as parse
paramstr = 'orderby=alphabetical&other=param&page=1234'
params = parse.parse_qsl(paramstr)
params = [(name, val) for name, val in params if name != 'page']
print(parse.urlencode(params))
产量
orderby=alphabetical&other=param
答案 1 :(得分:2)
简单地
url = 'orderby=alphabetical&other=param&page=1234'
params = url.split('&')
print('&'.join(i for i in params if 'page=' not in i))
答案 2 :(得分:0)
这是你正在寻找的吗?
>>> newstring=string[0:string.find("&page")]
>>> print newstring
orderby=alphabetical