gpt4 book ai didi

python - 如何使用正则表达式 sub 到字符串列表中的不同项目?

转载 作者:行者123 更新时间:2023-11-30 22:20:42 25 4
gpt4 key购买 nike

假设我有字符串列表 sList[ 'aaa', 'bbb', ccc']我想使用 re.sub 将第一个匹配项更改为“aaa”,第二个匹配项更改为“bbb”,第三个匹配项更改为“ccc”。 (将数字与列表中的索引号相匹配)

stringToSearch = 'zzz is zzz is zzz'

我尝试过使用

re.sub( 'zzz', sList.pop(0), stringToSearch )

但结果只是将所有匹配项替换为“aaa”。

顺便说一句,我正在使用 Python 3.6 和 re 模块。

最佳答案

在您的情况下,只需将 replace() 与计数 1 一起使用:

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

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

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

或者直接使用re.sub():

re.sub('zzz', lambda _: sList.pop(0), stringToSearch, len(sList) or -1)

len(sList) 或 -1 的原因是 re.sub() 如果 sList 为空并且 count为0,这个-1可以抑制这个异常。

关于python - 如何使用正则表达式 sub 到字符串列表中的不同项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48781307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com