in reply to More efficient way to truncate long strings of the same character

% perl -e'$x="aaaaaabbcccccd"; $x=~s/(.)\1{2,}/$1$1$1/g; print "$x\n"; +' aaabbcccd

-Mark

  • Comment on Re: More efficient way to truncate long strings of the same character
  • Download Code

Replies are listed 'Best First'.
Re^2: More efficient way to truncate long strings of the same character
by JavaFan (Canon) on Oct 30, 2008 at 18:34 UTC
    That would do needless work if a character is repeated only twice. You only have to modify the string is a character appears four or more times in a row. So, my suggestion is:
    s/(.)\1{3,}/$1$1$1/g;
    And in 5.10, use of the \K operator may be faster (but I haven't checked it)
    s/(.)\1\1\K\1+//g;