<p>find()未将索引0处的“Bl”识别为子字符串。当字符串为'Bl'或'bluee1bl*fjal9jkl'时。我的代码可能有什么错误</p>
<pre><code>string = 'Bl'
#string = 'BlUeBe1Bl*fjal9jkl'
sub_string='Bl'
length=len(sub_string)
count=0
for i in range(0,len(string)-length+1):
if string.find(sub_string,i,i+length)>0:
count+=1
print(f'Count of {sub_string} in {string} is {count}')
</code></pre>
<p>当string='Bl'时,输出应该是1,当string='blue1bl*fjal9jkl'时,输出应该是2,但我分别得到0和1</p>
<p>find()返回找到的事件的索引。如果字符串的开头与您搜索的子字符串匹配,则结果将为0。您必须检查>;=0解决问题。
找不到子字符串时,find返回-1</p>
<pre><code>for i in range(0,len(string)-length+1):
if string.find(sub_string,i,i+length)>=0:
count+=1
</code></pre>