python - 查找子字符串在字符串中连续出现的次数最多

标签 python string search substring

我有一长串字符,我不仅要查找这些字符的子字符串是否存在于较大的字符串中,还要查找最长的连续实例。

例如...在下面的代码片段中,我发现我可以使用“计数”来查看子字符串 b 在 a 中出现了多少次。结果是 5。但是,我要确定的是最长的连续运行,即 3(其中“abc”在中间背对背出现)。我很难理解这个逻辑。任何建议将不胜感激。

a = "abcxyzabcabcabcxyzabcxyz"

b = "abc"

total = a.count(b)

print(total)

最佳答案

使用 while 循环这应该相当简单:

def func(a, b): 
    n = 1 
    while b*n in a: 
        n += 1 
    return n - 1 

关于python - 查找子字符串在字符串中连续出现的次数最多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58551480/

相关文章:

php - 根据 where 子句选择行时,如何匹配完整的单词?

python - python/nautilus 脚本组合的奇怪字符编码问题

c - 从现有字符串创建字母数字 + '_' 字符串的更简单方法?

在 couchdb 中搜索或通过 Elasticsearch 进行 river

c - C 中的 Char 数组

java - 使用分割方法

asp.net - 未找到结果时提出建议的 SQL

python - 仅针对有数据的时间段绘制 Pandas 日内时间序列

python - isinstance(foo,bar) vs type(foo) is bar

python - 在 PyGame 中切换显示的表面允许用户滚动到表面的边界之外