That's complicated, because you don't want to go anywhere near character arrays to do this: they are harder to work with for inserts than strings are!
Start with identifyign teh location of your "insert points" - in this case the numbers.
As simple regex will do that for you:
\d+\s
The Rexex Match includes the
Index property[
^] which tells you where in the string it found the number.
You can then use the index with the string.Substring method to break the string in two, and build a new one from the parts:
string old = "Abcd";
int index = 2;
string new = old.Substring(0, index) + "xx" + old.Substring(index);
Will give you a new string containing "Abxxcd".
You will probably want to work from the last match backwards...