为你量身定做的,试试吧:
procedure TForm1.Button1Click(Sender: TObject);
var
ConStr,Str:String;
ResultStr:String;
i,j,StrLen:Integer;
begin
ResultStr:='';
ConStr:='|0001,第一|+(|1002,第二|-|h3,第四|)*|f6,第五|';
StrLen:=Length(ConStr);
i:=Pos('|',ConStr)
//第一个'|'的位置
j:=Pos(',',ConStr)
//第一个','的位置
while j<>0 do
begin
if i=1 then
begin
ResultStr:=ResultStr+Copy(ConStr,i+1,j-i-1);
ConStr:=Copy(ConStr,j+1,StrLen-j);
StrLen:=Length(ConStr);
i:=Pos('|',ConStr);
j:=Pos(',',ConStr);
end
else
begin
ConStr:=Copy(Constr,i+1,StrLen-i);
StrLen:=Length(ConStr);
i:=Pos('|',ConStr);
ResultStr:=ResultStr+Copy(ConStr,1,i-1);
ConStr:=Copy(Constr,i,StrLen-i+1);
StrLen:=Length(ConStr);
i:=Pos('|',ConStr);
j:=Pos(',',ConStr);
end;
end;
showmessage(ResultStr);
end;