擅长:python、mysql、java
<p>您需要手动计数,这仅适用于大小相等的子字符串:</p>
<pre><code>stringg = 'abbabba'
patterns = {'ab': 0, 'ba': 0}
c = 0
while c < len(stringg) -1:
substr = stringg[c:c+2]
if substr in patterns:
patterns[substr] += 1
c += 1
c += 1
print (patterns)
print ('Total', sum(patterns.values()))
</code></pre>
<p>输出:</p>
<pre><code>{'ab': 1, 'ba': 2}
Total 3
</code></pre>
<p><strong>编辑</strong>:如果您有不同长度的子字符串,您还可以在其上循环:</p>
<pre><code>stringg = 'abbabbaccccab'
patterns = {'ab': 0, 'ba': 0, 'ccc': 0}
c = 0
while c < len(stringg) -1:
for pattern in patterns:
substr = stringg[c:c+len(pattern)]
if substr == pattern:
patterns[substr] += 1
c += len(pattern) - 1
break
c += 1
print (patterns)
print ('Total', sum(patterns.values()))
</code></pre>
<p>输出:</p>
<pre><code>{'ab': 2, 'ba': 2, 'ccc': 1}
('Total', 5)
</code></pre>