字串:
var
str:string;
str:='[aa][bb][cc][dd]';
怎么得到第一个[]里的内容,第二个[]里的内容第四个[]里的内容。

解决方案 »

  1.   

    var
      i: Integer;
      str, strTmp: string;
      slResult: TStringList;
      bRecord: Boolean;
    begin
      slResult := TStringList.Create;
      bRecord := False;
      str:='[aa][bb][cc][dd]';
      strTmp := '';
      while Length(str) > 0 do
      begin
        if str[1] = '[' then
        begin
          bRecord := True;
          str := Copy(str, 2, Length(str));
          Continue;
        end;
        if str[1] = ']' then
        begin
          bRecord := False;
          str := Copy(str, 2, Length(str));
          slResult.Add(strTmp);
          strTmp := '';
          Continue;
        end;
        if bRecord then
          strTmp := strTmp + str[1];
        str := Copy(str, 2, Length(str));
      end;
      for I := 0 to slResult.Count - 1 do
        ShowMessage(slResult.Strings[I]);
      slResult.Free;
    end;