用于查找字符串是否是另一个字符串的子字符串的程序

时间:2015-01-22 12:36:37

标签: python python-2.7

str1是要执行搜索的字符串(haystack)。 str2是要找到的字符串(针)。 count将计算str2str1的出现次数。

下面的代码在最后一行给出了语法错误。请提出修改建议。

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      

2 个答案:

答案 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