str1
是要执行搜索的字符串(haystack)。 str2
是要找到的字符串(针)。 count
将计算str2
中str1
的出现次数。
下面的代码在最后一行给出了语法错误。请提出修改建议。
str1 = raw_input()
str2 = raw_input()
count = 0
for i in range(0,len(str1)) :
if ( str1.find(str2, i, i+len(str2))) :
count=count+1
print count
答案 0 :(得分:4)
要确定字符串是否是另一个字符串的子字符串,您可以使用in
运算符
"abc" in "abcd" # will return true
要计算出现次数,您可以使用字符串的count
方法
"abcda".count("a") # will return 2
答案 1 :(得分:3)
如果你想计算str2在str1中包含重叠字符串的次数:
str1 = raw_input() # input() if using python3
str2 = raw_input()
print(sum(str1[i:i+len(str2)] == str2 for i in xrange(len(str1)) ))
示例:
In [12]: paste
str1 = raw_input()
str2 = raw_input()
sum(str1[i:i+len(str2)] == str2 for i in xrange(len(str1)))
## -- End pasted text --
bobob
bob
Out[12]: 2