就像vbscript 里的Split函数一样。
Dim MyString, MyArray, Msg
MyString = "VBScriptXisXfun!"
MyArray = Split(MyString, "x", -1, 1)
' MyArray(0) contains "VBScript".
' MyArray(1) contains "is".
' MyArray(2) contains "fun!".
Msg = MyArray(0) & " " & MyArray(1)
Msg = Msg   & " " & MyArray(2)
MsgBox Msg
---------------------
其他的操作方法也行啊

解决方案 »

  1.   

    {********************************************
    函数功能:  分割函数
    入口参数: str    --需分割的字符传
              ctrl   --分割字符
              num     --数组
    出口数据: 分割后为数组需定义num为integer
    ********************************************}function split(str:string;ctrl:char;var num:integer):strings;
    var
      i:integer;
    begin
      num:=0;
      setlength(result,255);
      i:=pos(ctrl,str);
      while(i<>0) do
      begin
        result[num]:=copy(str,1,i-1);
        delete(str,1,i);
        inc(num);
        i:=pos(ctrl,str);
      end;
      result[num]:=str;
      inc(num);
      setlength(result,num);
    end;//////例子
     type
       strings = array of string;var
      ss:string;
      s:strings;
      i,n:integer;
    begin
    ss:='1;2;3';
    s:=split(ss,';',i);for n:=0 to high(s) do
        showmessage(s[n]);
    end;
      

  2.   

    MyString = "VBScriptXisXfun!"
    //MyString[1] ='V'
    //MyString[2] ='B'
    //MyString[3] ='S'
    //MyString[4] ='c'
    //...
      

  3.   

    用不了那么麻烦。用一个TSTRINGS
    设置commad……char:='x',comma开头的就两个,那一个就是设置分割的字符的
    然后设置TSTRINs.commatext=MyString 
    这样,你TStrings里的就是分割后的字串了,还不用数组保存
      

  4.   

    //参考如下代码
    var
      I: Integer;
      S: string;
    begin
      with TStringList.Create do try
        Delimiter := 'X';
        DelimitedText := 'VBScriptXisXfun!';
        S := '';
        for I := 0 to Count - 1 do
          S := S + ' ' + Strings[I];
      finally
        Free;
      end;
      Delete(S, 1, 1);
      ShowMessage(S);
    end;
      

  5.   

    1、用分隔符的方法:zswang
    2、写个函数,循环判断:DieGhost