替换输入字符串和整数

时间:2016-09-10 09:34:12

标签: python

我需要编写一个带字符串(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

1 个答案:

答案 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'