Ein anderer Schnellschuss-Versuch, wobei ein Parser sicher die bessere Lösung ist, aber die Fragestellung des TE weist darauf hin, dass das noch zu schwierig sein könnte. Das Folgende funktioniert aber nur, wenn die Struktur des Strings immer genauso ist, wie in den Beispielen. Eine Prüfung dessen, wie mit einem Parser hat man nicht:
Delphi-Quellcode:
function GetValue(InputString, ValueName:String):String;
var s:TStringlist;
meinString:String;
begin
s:TStringlist.create;
meinString := InputString;
//Bereinigen:
meinString := StringReplace(meinString,'= "','=',[rfReplaceAll]);
meinString := StringReplace(meinString,'="','=',[rfReplaceAll]);
meinString := StringReplace(meinString,'" ',',',[rfReplaceAll]);
s.DelimitedText:=meinString;
Result:=s.Values[ValueName];
s.free;
end;