parsing - 如何在 DELPHI 中读取字符串并从 stringlist 中获取值
问题描述
如何读取字符串,然后从文件中获取字符串作为值。然后我需要将该值/字符串显示到 TextEdit 组件中。
例子:
BHG|22|等级|12345^约翰卡特||200|好|155^200|
BHG|333|类|23231^AMIRA||100|差|100^150|
我需要根据'22'值在TextEdit1中获取字符串“200”,然后根据'333'值在TextEdit2中获取字符串“100”。
解决方案
您可以在几行代码中 使用Delimiter
andDelimitedText
来执行此操作 - 见下文。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;
推荐阅读
- git - “git stash store 需要一个
变基期间的参数”--abort - python - pycharm中有没有办法关闭运行窗口并使用键盘快捷键查看编辑器窗口
- google-apps-script - Google Apps 脚本 UrlFetchApp 返回未经授权的错误 401
- python - 如何加入两个数据框并留下未找到的空白项?
- c# - 单击文本框时保持选择
- javascript - 即使在浏览器关闭 Javascript 后如何保存会话
- angular - RxJS 映射运算符是否仅用于 (x=>x) 错误的运算符?
- python - 如何在 PySpark 中拆分数据框列
- watson-conversation - 沃森对话错误?即使找到插槽的实体也会触发“未找到”逻辑
- angular - Ionic 2:我可以将页面作为参数传递给 navCtrl.push 吗?