delphi 提取字符串绕过指定两字符之间的内容  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 提取字符串绕过指定两字符之间的内容


代码1:

function ExtractContent1(const S: string): string;

var

  p, ep, r, sr: pchar;

  len: Integer;

begin

  len := S.Length;

  SetLength(Result, len);

  r := Pointer(Result);

  sr := r;

  p := Pointer(S);

  ep := p + len;

  while p < ep do

  begin

    r^ := p^;

    if p^ = '{' then

    begin

      repeat

        Inc(p);

      until (p^ = '}') or (p^ = #0);

    end

    else

      Inc(r);

    Inc(p);

  end;


  SetLength(Result, r - sr);

end;



代码2:

function ExtractContent2(const S: string): string;

var

  i, c: Integer;

  InBracket: Boolean;

begin

  SetLength(Result, S.Length);

  InBracket := False;

  c := 0;

  for i := 1 to S.Length do

  begin

    if S[i] = '{' then

      InBracket := True

    else if S[i]= '}' then

      InBracket := False

    else if not InBracket then

    begin

      Inc(c);

      Result[c] := S[i];

    end;

  end;

  SetLength(Result, c);

end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.043277978897095 seconds