function [s]=maskRepeats(s0,d, m) % removes repeats up to length d, if word of length d is repeated >=m times % it is considered a repeat. repunit = repmat('.',1,d); pattern=sprintf('(%s)\\1{%d,}',repunit,m-1); [starti,endi]=regexp(s0,pattern); maskedind=[]; for i=1:length(starti) maskedind = [maskedind starti(i):1:endi(i)]; fprintf('Masked repeat: %s\n', s0(starti(i):1:endi(i))); end keepind = setdiff([1:1:length(s0)],maskedind); s=s0(keepind);