对于上述问题,我尝试了以下代码。
def removesubstr(substr,x):
a = len(substr)
m = ""
count = 0
b = 0
c= len(x)
while count <c:
for i in x:
if x[b:b+a] == substr:
count = count +1
m =m +""
b=b+a
else:
b= b+1
m = m + i
count = count +1
return m
print (removesubstr('ara','jayaram'))
我希望获得像jaym&#39;这样的输出。但我意识到,因为它循环3个步骤。 python仍然将最后3个字符[4:7]视为有效并输出&#39; jayram&#39;。如何改变以获得jaym&#39;?
答案 0 :(得分:1)
假设你应该自己这样做,而不是使用内置的库函数......
你似乎比你需要的更复杂,你还应该使用更有意义的变量名。 a
,b
和m
都毫无意义。
你想要这样的东西:
sublen = len(substr)
strlen = len(x)
loop = 0
while loop+sublen < strlen:
loop = loop +1;
if x[loop:loop+sublen] == substr:
return x[0:loop]+x[loop+sublen:strlen]
return x
答案 1 :(得分:1)
tempstr='jayaram'
tempstr=tempstr.replace("ara", "",1);
你可以使用python inbuilt replace.you可以用空白替换它
答案 2 :(得分:0)
def remove(s, text):
if text.find(s) == -1:
return text
else:
new = text[0:text.find(s)]+text[text.find(s)+len(s):len(text)]
return new