我知道VB中有个split函数可以把一个字符串分割成字符串数组,不知道DELPHI有无这样的函数

解决方案 »

  1.   

    uses StrUtils;var
      strlist: TStringList;begin
      StrList := TStringList.Create;
      StrList.Text := AnsiReplaceStr(str, '分隔符', #10);
    end;
      

  2.   

    我知道VB中有个split函数可以把一个字符串分割成字符串数组,不知道DELPHI有无这样的函数
    不是字符数组?
    var
      s:string;
    s:='123456';
    delphi中可以这样用s[1],..,s[6]其中s[1]为 '1' 
      

  3.   


    好像也有,手写一个
    StrList:= TStringList.Create;
    StrList:=SplitStr('aa,bb,cc,dd',',');
    function SplitStr(const Str,Delimiter: string): TStrings;
    var
      I: Integer;
      S, Tmp: string;
    begin
      Result := TStringList.Create;
      S := Str;
      while Length(S) > 0 do
      begin
        I := Pos(Delimiter, S);
        if I = 0 then
        begin
          Result.Add(S);
          S := '';
        end
        else begin
          if I = 1 then
          begin
            Result.Add('');
            Delete(S, 1, Length(Delimiter));
          end
          else begin
            Tmp := S;
            Delete(Tmp, I, Length(Tmp));
            Result.Add(Tmp);
            Delete(S, 1, I + Length(Delimiter) - 1);
            if Length(S) = 0 then
              Result.Add('');
          end;
        end;
      end;
    end;
      

  4.   

    用 ExtractStrings, 功能挺强大的.
    给个例子: http://www.cnblogs.com/del/archive/2007/12/11/991479.html
      

  5.   

    var 
      st:Tstringlist; 
      i: integer; 
    begin 
      st:=Tstringlist.Create; 
      st.Delimiter:=','; 
      st.DelimitedText:='057988888888,057911111111 0579355555  '; 
      for i:=0 to st.Count-1 do 
        memo1.Lines.Add(st.Strings[i]); 
    //st.strings[i]就可以
      

  6.   

    可否用low,higt函数取得数组的上下标?另外此数组的下标是从0还是1开始的?