"Splitting" Serial read

Hi, I am currently developing something that will receive a stream of data over the serial connection. Such as Speed: xxx Gear: x RPM: xxxx, now my question is how do I split this into different char arrays/strings? I have been working on this for quite a while now and I am getting frustrated.

Thanks in advance


strtok seems to be a popular choice. Have you tried it?

If the string of data is repeating, then capture a string that is a little bit longer than the longest possible, then parce out the various components desired as they should all be contained in the string captured.

I have found that strtok doesn't work in Arduino18. I think last time it worked was in version 16.

I use strtok_r instead.

Without knowing whether the "Speed: xxx Gear: x RPM: xxxx" is terminated with a unique character, e.g. or whether there is a few milliseconds pause between each transmission of the string, it is hard to advise on how to parse the data.