如何在delphi中的两个开始和结束字符串之间找到一个字符串?

时间:2011-02-10 21:51:29

标签: delphi

  

可能重复:
  Delphi: Extract string from a text file using 2 delimiters

如何在Delphi中找到两个开始和结束字符串之间的字符串

3 个答案:

答案 0 :(得分:2)

如果您对天真的解决方案感到满意,请查看此SO:Extract string from a text file using 2 delimiters

如果你想进行代码分析,你实际上需要一个能够理解注释,条件编译+所有其他预编译器选项的完整语言解析器。

答案 1 :(得分:2)

uses
  StrUtils;
...
const
  sBegin = 'begin';
  sEnd = 'end';
var
  i1, i2: Integer;
  sSubstr: String;
...
  i1 := Pos(sBegin, s);
  if i > 0 then begin
    i2 := PosEx(sEnd, s, i1 + Length(sBegin));
    if i2 > 0 then begin
      sSubstr := Copy(s, i1 + Length(sBegin), i2 - (i1 + Length(sBegin)));
      // process the delimited substring
    end;
  end;

注意:

  1. 上述代码未经过验证。
  2. 可以通过正则表达式或C / C ++ sscanf的某些限制来完成。

答案 2 :(得分:1)

转到Extract string from a text file using 2 delimiters

复制该功能,并按如下方式调用:

`ExtractText('Hi my name is$John and I''m happy/today','$','/')`;

它会回归'约翰,我很高兴'。

示例:

ShowMessage(ExtractText('Hello,World!', ',' ,'!'));

它会在弹出窗口中显示“世界”。