I was surprised seeing ton of people going for the replace approach.
It didn't even cross my mind to edit the string, I went straight for regex for part 1 and it was easy enough to adapt it for part 2.
On the surface level it makes sense since you already wrote the code to extract the numbers based on digits, which will be in the back of your mind. Once you have some time think about though, it's obvious it's better to just directly find the first and last "digit" without changing the string.
I did this exact thing and hit the point where it didn't work. I appreciated that the problem broke my code because it made me arrive at a better solution.