我对python很新。我想要计算连续的字符串:
示例:
该字符串等于st_st =" IJUYIJIJUUIJIJ"
在这种情况下,我想计算" IJ",所以我构建了我的代码如下:
def con(st_st) :
a= "IJ"
return st_st.count(a)
它等于5.但是,我想排除重复的值。当它重复时,我只想把它算作单个值:E.g IJ(1)IJIJ(1)IJIJ(1)
因此,而不是5,它应该是3。
你知道如何用python实现这一目标吗?我要创建一个列表()?
答案 0 :(得分:4)
您可以使用re.findall
功能。
>>> st_st= "IJUYIJIJUUIJIJ"
>>> import re
>>> re.findall(r'(?:IJ)+', st_st)
['IJ', 'IJIJ', 'IJIJ']
>>> len(re.findall(r'(?:IJ)+', st_st))
3
+
重复前一个标记一次或多次。因此,连续的IJ
将被视为单个匹配。