代码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