作个Parser,滤掉<到>的字符。用CB很容易,Delphi应该也不难。

解决方案 »

  1.   

    主要是算法,至于需要用到的函数,就几个-->pos(),copy()就足够啦
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        Pos1,Pos2,i : integer;
        Str         : string;
        Flag        : Boolean;
    begin
        for i:=0 to Memo1.Lines.Count-1 do
        begin
            Str:=Memo1.Lines[i];
            Flag:=True;
            while Flag do
            begin
                Pos1:=Pos('<',Str);
                Pos2:=Pos('>',Str);
                if (Pos1<>0) and (Pos2<>0) then
                begin
                    Delete(Str,Pos1,Pos2-Pos1+1);
                end
                else
                begin
                    Memo2.Lines.Add(Str);
                    Flag:=False;
                end;
            end;
        end;
    end;
      

  3.   

    你可以用POS 的函数,然后用函数得到你想要的字符,具体例子如果你想的话就来找我了也帮我加分了!
      

  4.   

    还要算法? 太复杂了吧?void Parser(AnsiString& s){
       int len=s.Length()+1;
       char * buff=new char[len];
       bool inMark;
       char * start;
       
       strcpy(buff,s.c_str());
       s="";
       for(int i=0;i<len;i++){
           inMark=false;
           if(buff[i]=='<'){
              start=buff+i;
              inMark=true;
           }else if(inMark){
              buff[i]=0;
              s += start;
           }
        }
    }