gpt4 book ai didi

python - 创建一个由每个正则表达式替换一个字符串组成的列表?

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:15 26 4
gpt4 key购买 nike

我正在寻找最快的方法来对每次出现的某组字母执行正则表达式替换,并将所有结果放入列表或集合中。 例如,假设我想将字符串“hi foo hi bar hi ho”中每次出现的“hi”替换为“yo”:

>>> replace_each('hi foo hi bar hi ho', 'hi', 'yo')
['yo foo hi bar hi ho', 'hi foo yo bar hi ho', 'hi foo hi bar yo ho']

我知道我可以像这样迭代:

def replace_each(some_string, to_replace, replace_with):
solutions = []
window = len(some_string)
for idx in range(len(some_string)-window):
if some_string[idx:idx+window] == to_replace
solutions.append(some_string[:idx] + replace_with + some_string[idx+window:])
return solutions

但是,我必须经常这样做,所以我正在寻找更快的东西,可能是使用正则表达式。

最佳答案

import re
a = 'hi foo hi bar hi ho'
old_stuff = "hi"
new_stuff = "yo"

[a[:m.start()] + new_stuff + a[m.end():] for m in re.finditer(old_stuff, a)]

您可以围绕它创建一个函数,将要查找的部分和要插入的部分视为参数。

关于python - 创建一个由每个正则表达式替换一个字符串组成的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26370864/

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