文字列の中括弧の間のすべてを削除しようとしており、それを再帰的に実行しようとしています。そしてx
、再帰が終わったらここに戻ってくるのですが、なぜか関数doit
がここに戻ってきNone
ます。x
def内で印刷すると正しい文字列が印刷されますが。私は何を間違っていますか?
strs = "i am a string but i've some {text in brackets} braces, and here are some more {i am the second one} braces"
def doit(x,ind=0):
if x.find('{',ind)!=-1 and x.find('}',ind)!=-1:
start=x.find('{',ind)
end=x.find('}',ind)
y=x[start:end+1]
x=x[:start]+x[end+1:]
#print(x)
doit(x,end+1)
else:
return x
print(doit(strs))
出力:
None