计数字符串中给定子字符串的出现次数

2024-04-26 22:07:36 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,如何计算给定子字符串在字符串中出现的次数?

例如:

>>> 'foo bar foo'.numberOfOccurrences('foo')
2

Tags: 字符串foobar次数定子numberofoccurrences
2条回答

string.count(substring),例如:

>>> "abcdabcva".count("ab")
2

更新:

正如注释中所指出的,这是对不重叠的事件执行此操作的方法。如果你需要计算重叠的次数,你最好在“Python regex find all overlapping matches?”中检查答案,或者只检查下面我的其他答案。

s = 'arunununghhjj'
sb = 'nun'
results = 0
sub_len = len(sb)
for i in range(len(s)):
    if s[i:i+sub_len] == sb:
        results += 1
print results

根据您的真实意思,我建议以下解决方案:

  1. 您指的是一个用空格分隔的子字符串列表,希望知道所有子字符串中的子字符串位置号是什么:

    s = 'sub1 sub2 sub3'
    s.split().index('sub2')
    >>> 1
    
  2. 您是指子字符串在字符串中的字符位置:

    s.find('sub2')
    >>> 5
    
  3. 您的意思是(非重叠的)表示su bstring出现的计数

    s.count('sub2')
    >>> 1
    s.count('sub')
    >>> 3
    

相关问题 更多 >