如何将regex子项用于字符串列表中的不同项?

2024-09-24 10:22:33 发布

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

假设我有string list sList[ 'aaa', 'bbb', ccc'] 我想用re.sub公司将第一个匹配更改为“aaa”,第二个匹配更改为“bbb”,第三个匹配更改为“ccc”。(将列表中的编号与索引编号匹配)

stringToSearch = 'zzz is zzz is zzz'

我试过用

^{pr2}$

但结果是把所有的匹配都换成了“aaa”。在

顺便说一句,我使用Python 3.6和re-module。在


Tags: re列表stringis公司编号listmodule
1条回答
网友
1楼 · 发布于 2024-09-24 10:22:33

在您的例子中,只需将replace()与count 1一起使用:

for s in sList:
    stringToSearch = stringToSearch.replace('zzz', s, 1)

re.sub()类似,将计数指定为1:

^{pr2}$

或者直接使用re.sub()

^{3}$

len(sList) or -1的原因是re.sub()仍将抛出异常,如果sList为空,count为0,则{}可以抑制此异常。在

相关问题 更多 >