Schreiben Sie eine Funktion, die das n-te Vorkommen eines Strings sub durch einen String replacement ersetzt.
Die Funktion soll als Ergebnis den veränderten String zurückliefern, bzw. falls replacement nicht im String vorkommt, sonst den unveränderte Originalstring.
def findnth(s, sub, n):
num = 0
start = -1
while num < n:
start = s.find(sub, start+1)
if start == -1:
break
num += 1
return start
def replacenth(source, search, replacement, n):
pos = findnth(source, search, n)
if pos == -1:
return source
return source[:pos] + replacement + source[pos+len(search):]
s = "abcxyzabcjkjkjkabclkjkjlkjabcjlj"
print(findnth(s,"abc", 4))
print(replacenth(s,"abc","---", 4))