首页 > 解决方案 > 如何在 DELPHI 中读取字符串并从 stringlist 中获取值

问题描述

如何读取字符串,然后从文件中获取字符串作为值。然后我需要将该值/字符串显示到 TextEdit 组件中。

例子:

BHG|22|等级|12345^约翰卡特||200|好|155^200|

BHG|333|类|23231^AMIRA||100|差|100^150|

我需要根据'22'值在TextEdit1中获取字符串“200”,然后根据'333'值在TextEdit2中获取字符串“100”。

标签: parsingdelphi

解决方案


您可以在几行代码中 使用DelimiterandDelimitedText来执行此操作 - 见下文。TStringList

简而言之,TStringList 就像一个可以通过索引引用的字符串数组。您可以通过设置分隔符的值来将输入字符串解析到数组中,在您的情况下为“|” 然后将输入字符串分配给它的 DelimitedText 属性。

procedure TForm1.Button1Click(Sender: TObject);
var
  StringList : TStringList;
begin
  StringList := TStringList.Create;
  try
    StringList.Delimiter := '|';
    StringList.DelimitedText := 'BHG|22|CLASS|12345^JOHN CARTER||200|Good|155^200|';
    Edit1.Text := StringList[6];    //  Fills Edit1.Text with 200
  finally
    StringList.Free;
  end;
end;

推荐阅读