Actually, it looks like you are pointed in the right direction. Attached is a snapshot of code that will do the parsing for you. I designed it so that you can put it in the loop where you are reading the serial port. The subVI takes the output from the serial read and parses datapoints from it until it runs out of headers. The subVI outputs a 1D array of the data values it found in the last block of data and any remaining string that was left over after the last data value was found. The intent is that this leftover string would be prepended to the new block of data coming from the serial read.
This saving of the leftoover string is necessary because it is possible that the data read ended in the middle of a data header. Saving this remnant and adding it to the beginning of the next read allows that split data set to be reconstructed.
Mike...