Показать сообщение отдельно
  #2  
Старый 23.02.2019, 22:22
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Что-то это на json похоже, хотя не хватает заголовков.
А вообще, можно проще, если это ровно тот текст, который и надо распарсить.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  src = '"SA":50.62,"LV":6.79,"BLB":9.16,"ZSD":7.75,"SHT":11.11,"';
  ptrn : array [1..2] Of String = ('SA','ZSD');
var
  s, b : string;
  i : integer;
begin
  listbox1.Items.Clear;
  s := src;
  while pos(',',s) > 0 Do
  begin
    b := copy(s,1,pos(',',s)-1);
    s := copy(s,pos(',',s)+1,length(s));
    for i := low(ptrn) to high(ptrn) do
      if pos(ptrn[i],b) > 0
        then listbox1.Items.Add(b);
  end;
end;

PS. Для тех, кто считает, что через Delimiter и DelimitedText будет проще - попробуйте. Будите сильно удивлены результатом. По крайней мере в Delphi 10.2 TStringList пытается в этом случае парсить стоку как будто это CSV, что, как я понял, не совсем то, что ТС надо.
Ответить с цитированием