从字符串中删除参数

时间:2015-07-18 15:27:13

标签: python python-3.x

我有这个字符串:

orderby=alphabetical&page=3

但它甚至可以是这样的:

orderby=alphabetical&other=param&page=1234

我想要做的是从该字符串中删除参数&page=[Number] 以这种方式获得以下字符串:

orderby=alphabetical&other=param

我该怎么做?

3 个答案:

答案 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