【问题标题】:Finding and copy a text next to a string [closed]查找并复制字符串旁边的文本[关闭]
【发布时间】:2018-01-07 12:41:09
【问题描述】:

我想在 ini 中搜索紧挨着字符串或文本的文本并将其复制或直接从 TINI 读取到 TEdit

[Section]
Indent=AA1:BB2ac:CC35sda:DDWord`

我想在TEdit中显示写在CC旁边的文本,即35sda。

我尝试了copy 函数,但没有尝试posposex() 函数。 谢谢。

【问题讨论】:

  • 欢迎来到 SO!请使用 The Tour 简要介绍 Stack Overflow,然后阅读 Asking 以了解您可以询问的内容以及如何提出问题。
  • 如果你想做某事,为什么不去做。这不是问题。
  • 我没有找到办法,所以我在这里问先生。
  • 到目前为止你做了什么,为什么没有按预期工作?请注意,我们不是来编写您的代码的。阅读我在之前评论中提供的链接。
  • 看起来你没有做出任何努力。我们要编写你的整个程序吗?您无法读取 ini 文件。你不能读取子字符串?有什么可以做的?如果你不能做这些基本的事情,那么在这里询问是不会有成效的。

标签: delphi firemonkey delphi-10.2-tokyo


【解决方案1】:

这只是基本字符串解析的问题,例如Pos()PosEx()Copy(),例如:

Ini := TMemIniFile.Create('file.ini');
try
  S := Ini.ReadString('Section', 'Indent', '');
  StartIdx := Pos(':CC', S) + 3;
  EndIdx := PosEx(':', S, StartIdx);
  Edit1.Text := Copy(S, StartIdx, EndIdx - StartIdx);
finally
  Ini.Free;
end;

或者,使用TStringHelper

Ini := TMemIniFile.Create('file.ini');
try
  S := Ini.ReadString('Section', 'Indent', '');
  StartIdx := S.IndexOf(':CC') + 3;
  EndIdx := S.IndexOf(':', StartIdx);
  Edit1.Text := S.Substring(StartIdx, EndIdx - StartIdx);
finally
  Ini.Free;
end;

或者,您可以使用TStringList 来帮助您解析,例如:

Ini := TMemIniFile.Create('file.ini');
try
  SL := TStringList.Create;
  try
    SL.Delimiter := ':';
    SL.StrictDelimiter := True;
    SL.DelimitedText := Ini.ReadString('Section', 'Indent', '');
    Edit1.Text := Copy(SL[2], 3, MaxInt);
    // or:
    // Edit1.Text := SL[2].Substring(2);
  finally
    SL.Free;
  end;
finally
  Ini.Free;
end;

【讨论】:

  • 这类问题不值得最终解决。 OP 没有做出任何努力。
  • @JeffersonFarias 我选择为新手指出一个方向,并举例说明。
  • 我也是一个新手,但我努力值得这种类型的解决方案,这不是 OP 的情况。但是,如果这是您的选择,那也可以;-)
  • @JeffersonFarias 是的,你是一个新手,但你是那种不倾听和学习的人,这让事情变得困难。这是一个简单的问题,答案很简单。你不是这样的
  • @bear 阅读关闭通知中的链接。它应该有助于解释事情。我要补充一点,因为您没有提供您尝试过的代码(nb:复制粘贴;不要尝试重新输入),我们不知道您在努力解决什么问题。 据我们所知,您可能一直未能阅读该文件。 从您的更新中可以清楚地看出,您一直在努力使用一些特定的功能。即使那样提供您拥有的不起作用的代码,我们也可以向您解释为什么它不起作用。
猜你喜欢
  • 2014-10-04
  • 2023-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
  • 2017-04-25
  • 1970-01-01
  • 2018-07-23
相关资源
最近更新 更多