python中连续子字符串的count()
为什么以下程序在python中返回1而不是2python中连续子字符串的count(),python,Python,为什么以下程序在python中返回1而不是2 print "abcdcdc".count("cdc") 子字符串cdc出现在两个位置(一个从索引2开始,另一个从索引4开始)。count()究竟是如何工作的 因为count()返回子字符串的非重叠出现次数。请参阅。我可以为您介绍 str.count(sub[,start[,end]]) 返回[开始,结束]范围内子字符串sub的非重叠出现次数。可选参数start和end解释为切片表示法 如果要计算重叠出现的总次数,可以使用re模块: import
print "abcdcdc".count("cdc")
子字符串cdc出现在两个位置(一个从索引2开始,另一个从索引4开始)。count()究竟是如何工作的 因为count()
返回子字符串的非重叠出现次数。请参阅。我可以为您介绍
str.count(sub[,start[,end]])
返回[开始,结束]范围内子字符串sub的非重叠出现次数。可选参数start和end解释为切片表示法
如果要计算重叠出现的总次数,可以使用
re
模块:
import re
text = 'abcdcdc'
len(re.findall('(?=cdc)', text))
>>> 2
仅返回1,因为值cdc
自身重叠
abcdcdc
|-|
|-|
要获得值2,您需要两个不重叠的cdc
实例或使用正则表达式:
import re
len(re.findall('(?=cdc)', 'abcdcdc'))
下次询问之前,请考虑阅读手册。你在找这个吗?