我有三串编码'ACD$$123456789##','ACD123456789##','ACD$$123456789'.但有效的编码是从$$到##之间的一段,也就是123456789这9个编码.可是如何判定编码是否在$$..##之间呢?并且如果编码在$$..##之间就处理,如果不在$$..##之间的话就不作处理.应该如何做啊?先谢谢了.

解决方案 »

  1.   

    function GetCode(Src:String;var Code:String): Boolean;
    const
      Str_Start := '$$';
      Str_End := '##';
    var
      Pos_Start, Pos_End: Integer;
    begin
      Result := False;
      Pos_Start := Pos(Str_Start, Src);
      if Pos_Start = 0 then Exit;
      Pos_End := Post(Str_End, Src);
      if Pos_End = 0 then Exit;
      if Pos_End < Pos_Start then Exit;
      Result := True;
      Code := Copy(Src,Pos_Start + Length(Str_Start), Pos_End - (Pos_Start + Length(Str_Start)));
    end;
      

  2.   

    var i,j,k:integer;
      s:string;
    begin
      i:=pos('$$',字符串);
      j:=pos('##',字符串);
      if (i>0) and j>i then
        s:=copy(字符串,i+2,j-i-2);
    end;