gpt4 book ai didi

Python - 如何批量替换字符串中的事件?

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

让我们定义一个变量字符串:

string = "5+--+-+-+-+--+++---++-+-+-+-5"

将所有 "++" 替换为 "+",将所有 "--" 替换为 的最佳方法是什么"+" 和所有 "-+""+-""-" 得到:

string = "5+5"

我想过:

from re import sub

while True:
if "-+" not in string and "+-" not in string and "++" not in string and "--" not in string:
break
string = sub("\++", "+", string).replace("--", "+").replace("+-", "-").replace("-+", "-")

这是最好的方法吗?

最佳答案

它看起来有点奇怪,但它确实有效

string = "5+--+-+-+-+--+++---++-+-+-+-5"
old = s = string
while True:
s = s.replace("++", "+").replace("--", "+").replace("-+", "-").replace("+-", "-")
if old == s:
break
old = s

print(s)

您还可以为所有替换规则创建一个字典并对其进行迭代,而不是多次显式调用替换。

string = "5+--+-+-+-+--+++---++-+-+-+-5"
old = s = string

repl = {
"++": "+",
"--": "+",
"-+": "-",
"+-": "-"
}

while True:
for key, value in repl.items():
s = s.replace(key, value)
if old == s:
break
old = s

print(s)

关于Python - 如何批量替换字符串中的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57235035/

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