Help printing * instead of characters

this is my current code

DECLARE @String nvarchar(15) ,@stringnew nvarchar(15),@i int

select @string= 'abcdefgaahi'
select @i=len(@string)

SELECT @stringnew=LEFT(@String, 3) + '*******'

select @stringnew

What i want to know is how i can loop through and make the *** show the number of charecters of @string - 3

SELECT STUFF('abcdefgaahi', 1, 3, '***');

SELECT @stringnew=LEFT(@String, 3) + REPLICATE('*', @i - 3)

thanks