如何迭代列表re.sub公司用python替换字符串中的变量?

2024-09-19 23:43:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一条线说:

s = 'deviceId={servicename.DeviceID}&deviceGroupID={servicename.GroupID}&abcd=dkef'

我可以通过为括号中的项解析多个xml来获取数据。在获得数据后,我使用dictset的组合子(大致)为paratheses{}中的项目生成以下结果:

^{pr2}$

Dictset组合返回项列表[deviceId,groupID]。考虑到我是Python的新手,如何遍历这个列表并查找/替换字符串中的项?请帮忙!在

我还可以添加到目前为止尝试过的内容—我可以使用For遍历列表,并可以使用替换列表中的1项re.sub公司。但是代码需要同时替换这两个项。我使用的正则表达式是 r“{.+?}““


Tags: 数据项目name列表servicexml括号abcd
1条回答
网友
1楼 · 发布于 2024-09-19 23:43:15

使用单个sub调用并传递返回所需内容的函数。在

s = 'deviceId={servicename.DeviceID}&deviceGroupID={servicename.GroupID}&abcd=dkef'
r = ['ApplC3LDJXGEDCP7', '10']
print(re.sub(r'{.+?}', lambda match: r.pop(0), s, count=len(r)))
# deviceId=ApplC3LDJXGEDCP7&deviceGroupID=10&abcd=dkef

更好的方法可能是使用urllib.parse.parse_qs,它将容忍参数重新排序、丢失参数等

相关问题 更多 >