Python - 计算连续字符串但排除重复值

时间:2015-02-24 01:25:03

标签: python

我对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实现这一目标吗?我要创建一个列表()?

1 个答案:

答案 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将被视为单个匹配。