好吧!我来给你写一个:
function disconcat(str:string;subChar:Char):Tstringlist;
var 
  Str_array:TStringList;
  S_Char:Char;
  i,j:integer;
begin
  Str_array:=TStringList.Create(Self);
  Str_array.Sorted:=false;
  j:=0;
  for i:=0 to length(Str) do
  begin
    if Str[i]<>SubChar then
    Str_array[j]:=Str_array[j]+SubChar
    else
    j:=j+1;
  end;
  result:=str_array;
  Str_array.free;
end;
没有调试过,你先试一试。