// замена повторяющихся символов
string.replace(/(.)\1{1,}/gu, '*')
// замена повторяющихся символов, но первый символ сохраняем
string.replace(/(.)\1{1,}/gu, '$1*')
// сохраняем первый, и каждый следующий заменяем
str.replace(/(.)\1{1,}/gu, (a,b)=>b+Array(a.length).join('*'))
clearString = str => {
const trash = str.match(/(.)\1{1,}/g)
for(let o in trash) {
str = str.replace(trash[o], trash[o].substr(0,1)+'*')
}
return str;
}
console.log(clearString('aabc11d'))
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var str = "HELLO WORLD";
document.getElementById("demo").innerHTML = str;
result = ""
for(i=0; i<str.length;i++){
if (str.charAt(i) == str.charAt(i+1)){
result+='*';
}else{
result+=str.charAt(i);
}
document.getElementById("demo").innerHTML = result;
}
</script>
</body>
</html>