Żeby wstawić tekst w wybranym miejscu, potrzebujesz indeksu dla znaku, od którego chcesz zacząć wstawiać nowy tekst. Następnie można skleić całość przy użyciu metody slice, albo replace (to raczej trudniejszy sposób, bo trzeba by się bawić RegExem).
Obstawiam, że czyszczenie nie działa, bo używasz value, zamiast innerHTML/textContent. Pokaż jeszcze kod HTML, żeby można było łatwiej namierzyć problem.