Я хочу решить проблему, которая принимает два ввода: 1-я строка и 2-я подстрока. Затем я должен удалить все вхождения подстроки в строке и вернуть оставшуюся часть строки. Без использования метод замены . Теперь, если я знаю длину подстроки, это выполнимо, но что, если длина неизвестна? Спасибо Вот мой ответ, он терпит неудачу, когда есть несколько вхождений подстроки в строке. Теперь все работает правильно.
inputS=input('string?')
inputSub=input('substring?')
s=list(inputS)
sub=list(inputSub)
print(sub)
z=len(s)-len(sub)+1
y=len(sub)
def remove_sub():
li=[] #index at which substring is present
for x in range(z):
if s[x]==sub[0]:
if y==1:
li.append(x)
continue
for temp in range(1,y):
if s[x+temp]==sub[temp]:
temp+=1
if temp==y:
li.append(x)
else:
print(x)
else:
continue
return(li)
li=remove_sub()
print(li)
temp2=0
for i in range(len(li)): #removing substring
del s[li[i]+temp2:(li[i]+y+temp2)]
temp2-=(y)
out=''.join(s)
print(out)