# -*- coding: utf-8 -*- import re class Counter(object): def __init__(self, find, replace): self.i = 0 self.find = find self.replace = replace def sub(self, sentence): self.i = 0 return re.sub('(%s)' % self.find, self, sentence) def __call__(self, g): self.i += 1 return self.replace c = Counter('toto', 'tata') print c.sub('Salut toto. ça va toto') print c.i