gpt4 book ai didi

python - 用python替换字符串中的子字符串

转载 作者:行者123 更新时间:2023-11-28 21:56:14 25 4
gpt4 key购买 nike

我正在尝试使用 python 替换字符串中子字符串的每个实例。以下是我完成的代码,它给了我一些奇怪的结果。

def main():
s='IN GOING GO'
x='IN'
y='aa'

print(rep_str(s,x,y))

def rep_str(s,x,y):
result=""
if x in s:
for i in range(len(s)):
if s[i:i+len(x)] == x:
result=result+y
else:
result=result+s[i+1:i+len(x)]

return result


main()

我不允许使用替换方法。事实上,我的函数应该执行替换函数在 python 中执行的操作。以下是我得到的输出。

aa GOIaaG GO

如果有人能给我一些关于如何改变逻辑以获得正确输出的意见,我将不胜感激,即 aa GOaaG GO.

最佳答案

正如我在评论中提到的,错误在于您没有在匹配后跳过 len(x) 个字符。另外in关键字是比较高级的例程(不低于search & replacesearch部分),所以这里是固定版本没有:

def rep_str(string, search, replacement):
result = ''
i = 0
while i < len(string):
if string[i : i + len(search)] == search:
result += replacement
i += len(search)
else:
result += string[i]
i += 1
return result

关于python - 用python替换字符串中的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21803731/

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