If you want to use the semicolon as a locator, you can use the expression I posted previously with Find and Mid, with some modifications to handle the different data types.
For example, to get the Altitude value, use TextToFloat instead of TextToInt. Make sure you put the result into a Real tag or the decimal places will get truncated.
Some are a little trickier. For the Latitude, you might have to extract the first two digits (50) into an integer and the remaining number to a Real. When you display tags in Crimson you can append the apostrophe as part of the primitive properties. Another option would be to create a new string from the tags you've created. The function DecToText will convert a floating point value back to a string, and you can combine strings with the "+" operator.
So, for the Time value you could extract the individual numbers as integers, then combine them into a single string with the punctuation. Like this:
TimeString := IntToText(HourValue,10,2) + ":" + IntToText(MinValue,10,2) + ":" + IntToText(SecondValue,10,2)