Falls der String immer genau so aufgebaut ist,
also mit einem Buchstaben beim ersten Wert und mit abschließenden ";", dann ginge auch Folgendes
"<" + "Gxxxx,yyyy;" + "Gxxxx,yyyy;" + ... + ">"
Delphi-Quellcode:
var
S: String;
L: TStringList/TStrings;
i, i2: Integer;
S := '<G48.51123,9.71545;G48.51123,9.71545;G48.51123,9.71545;G48.51123,9.71545;>';
L.Clear;
i := 1;
while True do begin
i2 := PosEx(',', S, i);
if i2 = 0 then Break;
L.Add(Copy(S, i + 2, i2 - i - 2));
i := PosEx(';', S, i2);
if i = 0 then Break;
L.Add(Copy(S, i2 + 1, i - i2 - 1));
end;
Statt dem Zwischenspeichern, in der StringListe, könnte man die beiden Zahlen auch direkt verarbeiten, am Ende der Schleife.