Код:
const
src = '"SA":50.62,"LV":6.79,"BLB":9.16,"ZSD":7.75,"SHT":11.11';
var
i: Integer;
begin
with TStringList.Create do
try
Delimiter := ',';
QuoteChar := #0;
NameValueSeparator := ':';
DelimitedText := src;
for i := 0 to Count - 1 do
ShowMessageFmt('%d. Name: %s; Value: %s', [i+1, Names[i], ValueFromIndex[i]]);
finally
Free;
end;
end;
Ну а дальше сверяете Names[i] с нужными Вам. Например:
Код:
const
...
ptrn: array[0..1] of string = ('"SA"', '"ZSD"');
...
for i := Low(ptrn) to High(ptrn) do
ShowMessageFmt('Pattern: %s; Value: %s', [ptrn[i], Values[ptrn[i]]]);
Цитата:
PS. Для тех, кто считает, что через Delimiter и DelimitedText будет проще - попробуйте.
|
Это происходит из-за QuoteChar, который по-умолчанию равен ". А можно изначально удалить эти кавычки: DelimitedText := StringReplace(src, '"', '', [rfReplaceAll]);