My guess is that you are displaying data from unitialized SRAM locations because some part of your indexing is wrong.
I would use a char array[] of a known length to hold a string rather than a String (note the small "s" and big "S").
Strings (with a big S) can be a problem in the small memory of an Arduino.
...R