每次字符串出现在较长的字符串Python中时计数

时间:2013-12-29 23:58:15

标签: string for-loop python-3.x

我想计算一个字符串是否可以在更长的字符串中找到。

例如,如果我有字符串:" Heyheyheyhey"。 我想检查一下这个部分的次数" ey"在字符串中,得到计数4。 让我们说我在列表中也有这个字符串。

我尝试了这个,但只有当部分在字符串中出现一次时才有用。

For word in list:
   count = 0
   If 'ey' in word:
       count +=1

我认为交换if有一段时间会起作用,但显然不行。有什么提示吗?

这一切都在PYTHON 3.x中。

1 个答案:

答案 0 :(得分:1)

使用字符串方法count

>>> 'Heyheyheyhey'.count('ey')
4

使用正则表达式:

>>> import re
>>> len(re.findall(r'ey', 'Heyheyheyhey'))
4

修改

如果你想匹配多个东西,你可以使用列表理解:

>>> s='Hey hi how'
>>> sum(1 for i in range(0,len(s)) if s[i] in 'eyio')
4

或正则表达式:

>>> len(re.findall(r'e|y|i|o', s))
4