Japt, 24 bytes
£Xn >J?U=UhYUgJ+Y-X):PÃU
###Explanation:
Explanation:
£Xn >J?U=UhYUgJ+Y-X):PÃU
£ Ã Iterate through the input (implicit U)
X becomes the iterative item, Y becomes the index
Xn Try parseInt(X)
>J > -1
In this case, this checks if X is a digit
? If true:
U= Set U to
UhY U with the char at index Y set to:
UgJ+Y-X The index at -1+Y-X
): Else:
P variable P (just a no-op in this case)
U Finally, return U