我需要编写一个带字符串(str)和另外两个字符串(称为replace1和replace2)的函数,以及一个整数(n)。该函数应返回一个新字符串,其中所有字符串输入来自第一个字符串(str)中的replace1,并根据您想要新输入的位置将替换新字符串替换为replace1。我不应该使用内置函数,但我可以使用镜头(我们可以假设replace1的长度为1)。示例(将其命名为replaceChoice):
>>> replaceChoice(“Mississippi”, “s”, “l”, 2)
'Mislissippi'
我希望我解释得很清楚。这是我的尝试:
def replaceChoice(str1, replace1,n):
newString=""
for x in str:
if x=="str1":
newString=newString+replace
else:
newString=newString+x
return newString
答案 0 :(得分:1)
我从你的问题中假设你想用r2替换第n次出现的r1。 这是你想要的吗?
>>> def replaceChoice(str1, r1, r2, n):
... new_str = ""
... replaced = False
... for i in str1:
... if i==r1:
... n-=1
... if n==0 and not replaced:
... replaced = True
... new_str+=r2
... else:
... new_str+=i
... return new_str
...
>>> replaceChoice("Mississippi", "s", "l", 2)
'Mislissippi'