find()未将索引0处的“Bl”识别为子字符串。当字符串为'Bl'或'bluee1bl*fjal9jkl'时。我的代码可能有什么错误
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}')
当string='Bl'时,输出应该是1,当string='blue1bl*fjal9jkl'时,输出应该是2,但我分别得到0和1
find()返回找到的事件的索引。如果字符串的开头与您搜索的子字符串匹配,则结果将为0。您必须检查>;=0解决问题。 找不到子字符串时,find返回-1
find()函数在未找到任何匹配项时返回-1,在找到匹配项时返回0,您可以通过替换此函数来实现解决方案
内部for loop
为了更好的理解,请点击下面的链接
https://docs.python.org/2/library/string.html
相关问题 更多 >
编程相关推荐