我找了半天,似乎全部都是只能用一个字符来作为分割符,但是当如果分隔符长度大于1的时候该怎么办呢?
比如:
123|||123fddf|||ccff

解决方案 »

  1.   

    至少知道分隔字符串吧,那么使用Pos(分隔串,字符串)定位并循环找,Copy提取需要的串,这种苯办法可以。否则用正则式最方便。
      

  2.   

    我调整了一下,这样应该可以了
    function TForm1.SplitString(const source,ch:string):TstringList;
    var
    temp:string;
    i:integer;
    begin
    result:=tstringlist.Create;
    temp:=source;
    i:=pos(ch,source);
    while i<>0 do
    begin
      result.Add(copy(temp,0,i-1));
      delete(temp,length(i),i);
      i:=pos(ch,temp);
    end;
    result.Add(temp);
    end;
      

  3.   

    上面错了,应该是
    delete(temp,length(ch),i); 
      

  4.   

    很容易的,用pos.copy,delete等函数轻松实现