比如:
字符串"abc+efg+h"
按字符"+"分割到数组a中,
a[0]='abc'
a[1]='efg'
a[2]='h';
如何实现?

解决方案 »

  1.   

    字符串在Edit1中输入,将分割的结果写到Memo1中。procedure TForm1.Button2Click(Sender: TObject);
    var
        i,iCnt:integer;
        a:Array of string;
        strTemp:string;
    begin
        strTemp:=Edit1.Text;
        iCnt:=1;
        SetLength(a,iCnt);
        while Pos('+',strTemp)>0 do
        begin
            SetLength(a,iCnt+1);
            a[iCnt-1]:=Copy(strTemp,1,Pos('+',strTemp)-1);
            strTemp:=Copy(strTemp,Pos('+',strTemp)+1,Length(strTemp));
            inc(iCnt);
        end;
        a[iCnt-1]:=strTemp;
        for i:=0 to iCnt-1 do
            Memo1.Lines.Add(a[i]);
    end;
      

  2.   

    TStringList
    CommaText
    DelimitedText
    Delimiter
      

  3.   

    给你补充完整点儿
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ar: array of string;
      sl: TStringList;
      s: string;
      I: integer;
    begin
      s := Edit1.Text;
      sl := TStringList.Create;
      sl.Delimiter := '+';
      sl.DelimitedText := s;  SetLength(ar, sl.Count);  for i := 0 to sl.Count - 1 do
        ar[i] := sl.Strings[i];
      Memo1.Lines := sl;
    end;