В perl
s/(.)\1+/$1/g;
Делает трюк, я полагаю, если java имеет регулярные выражения, совместимые с perl, он тоже должен работать.
Редактировать: вот что это значит
s {
(.) # match any charater ( and capture it )
\1 # if it is followed by itself
+ # One or more times
}{$1}gx; # And replace the whole things by the first captured character (with g modifier to replace all occurences)
Редактировать: Как уже указывали другие, синтаксис в Java станет
original.replaceAll("(.)\\1+", "$1");
не забудьте убежать от \ 1