文本文档内容如下 // s1   s2 s3     s4      s5
20061217,D,B,DKDDA332021,ESA3332SS1
20061217,D,B,DKDDA332022,ESA3332SS2
20061217,D,B,DKDDA332023,ESA3332SS3
20061217,D,B,DKDDA332021,ESA3332SS2
20061217,D,B,DKDDA332025,ESA3332SS2
20061217,D,B,DKDDA332021,ESA3332SS3
20061217,D,B,DKDDA332022,ESA3332SS7其中在文本文档中,s4和s5 会有重复的数据.我想把重复的全部删除了.
但是用SORT排序,只能对整行排序.能不能按照s4和s4来进行排序,并删除其中的重复能容(整行)!谢谢大家

解决方案 »

  1.   

    把条件说明白: 是“只要某行中S4与S5相同,就删除该行” 还是 “所有行中,凡S4有相同的,只留一行,其余行删去;凡S5有相同的,只留一行,其余行删去” ?
      

  2.   

    算法大概:filelist:=TStringList.create;
    filelist.loadfromfile(...);
    newlist:=TStringList.Create;
    s4list:=TStringList.Create;
    s4list.sorted:=True; //排序,将加快搜索速度for i:=0 to filelist.count -1
    begin
       //分离文本文件的一行,提取s4,
    .......  if newlist.indexof(s4)<0 then
    begin
      newlist.add(filelist[i]);
      s4list.add(s4);
    end;
    end;newlist.savetofile(....)