应该使用AnsiPos查找"["或者"]"的位置,在用Copy拷贝。

解决方案 »

  1.   

    例如,先建立两个变量:
    var
    Pos1,Pos2:Integer;
    begin
      Pos1 := AnsiPos('[',Str);
      Pos2 := AnsiPos(']',Str);
      Str2 := Copy(Str,Pos1 + 1, Pos2 - Pos1);
     ……
    end;
      

  2.   

    procedure TForm1.Button4Click(Sender: TObject);
    var
    s, Result: string;
    Index1, Index2 : Integer;
    begin
    s := 'Hello[world]';
    Index1 := Pos('[', s);
    Index2 := Pos(']', s);
    result := Copy(s, Index1 + 1, Index2- Index1 -1 );
    ShowMessage(Result);
    end;
      

  3.   

    用pos
    pos(edit1.text,'“[”开头并且“]”');
      

  4.   

    function GetWantString(str: String): Boolean;
    begin
      Result := False;
      if Length[str] >= 1 then
        if str[1] = '[' and str[Length(str)] = '[' then
          Result := True;
    end;
      

  5.   

    如果字符串中就一个“[”和“]”,直接利用Pos('[',yourStr)定位'['的位置,然后用Pos(']',yourStr)定位']'的位置,用Copy(yourStr,pos1+1,pos2-pos1-1)取出即可,如果包含“[”和“]”不只一个,需要编写算法实现!