Serial has no terminator, so use a word for one?

dang it, another issue,

I'm using an arduino mega now, with a usb serial dongle connected to serial1 on the arduino, and i changed the sketch to suit this, so what ever i send to the adruino over serial0, the 'serial print' text comes back from serial1.

the issue:
i've just noticed that the string that comes over the serial port doesn't have a comma at the end, i thought it did.
so an actual output is

1,76,1,0,14:36,- 4.2,E.-dorf Krkhaus @076 01 105 6 A ,6,105,0,Krankenhaus,noch nicht mit leben gefüllt

Repeated every 200 milliseconds (with fields updating as they change in the sim)

Easy enough to change the word the sketch looks for the word terminate the string from 'gefüllt,' to 'gefüllt'
and i have to also change the field count part to 11.

But i think there's an issue where the first field is then messed up on the next read of the input string, it adds the last text to the first field as that's where the next comma is.

Should i look at putting a comma after the 'gefüllt' word with the sketch, using something like a 'string replace'
tho i'd have thought the sketch see's the word 'gefüllt' then adds a null terminator to it?

I can replicate what's happening when i try live data from the sim simply by putting 2 or more copies of the test string into serial monitor one after the other,
i.e. '1,76,1,0,14:36,- 4.2,E.-dorf Krkhaus @076 01 105 6 A ,6,105,0,Krankenhaus,noch nicht mit leben gefüllt1,76,1,0,14:36,- 4.2,E.-dorf Krkhaus @076 01 105 6 A ,6,105,0,Krankenhaus,noch nicht mit leben gefüllt'

This gives me the error i get when the strings are sent 200milliseconds apart from the sim,

sfReceived overflowed, too small or bad data
SafeString sfReceived cap:120 len:65 ' 01 105    6 A ,6,105,0,Krankenhaus,noch nicht mit leben gefüllt'
Error: sfReceived.stoken() token SafeString  sfField needs capacity of 15 for token ' 01 105    6 A '
        sfField cap:12 len:0 ''
Error: sfReceived.stoken() token SafeString  Time needs capacity of 11 for token 'Krankenhaus'
        Time cap:10 len:0 ''
Error: sfReceived.stoken() token SafeString  Delay needs capacity of 29 for token 'noch nicht mit leben gefüllt'
        Delay cap:10 len:0 ''
Power Off

Could this be an index not resetting again like last time? or something else.