例如:  sssssss,aaaaaaaaaaa,gggggggg
返回sssssss   
    aaaaaaaaaaa
    gggggggg

解决方案 »

  1.   

    学习,如果有的话下面是我自己写的函数中的一部分,你参考一下
                    //拆分字符串
                    uParametersStr := Trim(ParametersStr);  //这是必须的,ParametersStr是传入的参数,不可以改变值
                    While Pos('€',uParametersStr) > 0 do
                    begin
                        i := Length(ParamArray); //取数组下标
                        SetLength(ParamArray, i + 1); //设置动态数组下标
                        j := Pos('€',uParametersStr);  //分割符的位置
                        ParamArray[i] := Copy(uParametersStr, 1, j); //第一个字符开始到分割符的字符串
                        ParamArray[i] := Copy(ParamArray[i],1,Length(ParamArray[i])-1); //去掉分割符
                        uParametersStr := Copy(uParametersStr, j+1, Length(uParametersStr)-j+1);  //去掉分割符前的字符
                    end;
                    i := Length(ParamArray); //取数组下标
                    SetLength(ParamArray, i + 1); //设置动态数组下标
                    ParamArray[i] := uParametersStr;
      

  2.   

    最简单的办法procedure TForm1.Button1Click(Sender: TObject);
    var str:string;
    begin
      str:='aaaaaaaaaa,ssssssssssssss,dddddddddd';
      Memo1.Lines.CommaText := str;
    end;
      

  3.   

    S:='sssssss,aaaaaaaaaaa,gggggggg'
    St :=TStringList.Create;
    ExtractStrings([','],[''], PChar(S), St);
      

  4.   

    我原来在EVB下写过一个,我想DELPHI应该有,就懒得写,谢谢了, 看来还是再写一个,
      

  5.   

    先试试  liuziran(CSDN第一帅哥(原倒立旋风转的青蛙)) (   的方法
      

  6.   

    Memo1.Lines其实就是一个TStringList
      

  7.   

    var
      s:string;
      st:tstringlist;
    begin
    S:='sssssss,aaaaaaaaaaa,gggggggg'
    St :=TStringList.Create;
    ExtractStrings([','],[], PChar(S), St);
    end;
      

  8.   

    d对,自己写
    function ExtractStr(Separators:char; Content:string; Strings: TStrings): Integer;
     var i,j:integer;
         s1,s2:string;
    begin
     if (separators='') or (Content='') or (strings=nil) then exit;
     i:=1;
     s2:=Content;
     while length(s2)>0 do
       begin
         j:=pos(separators,s2);
         if j=0 then
           begin
            strings.Add(s2);
            break;
           end;
         s1:=copy(s2,i,j-i);
         s2:=copy(s2,j+1,length(s2)-j);
         strings.Add(s1);
        end;
     Result:=strings.Count; 
    end;