我有一个文本1.txt,里面内容例如下:
11
22
33
22
44
11
55
...
N个我想删除里面的重复项,并且不保留。
处理后的想要结果是这样:
33
44
55
...
N个但是用以下代码处理并不是这样子,它保留了一个重复。
pList := TStringList.Create;
pList.sorted := True;
pList.Duplicates := dupIgnore;
pList.LoadFromFile('1.txt');
pList.SaveToFile('2.txt');
pList.Free;
结果为:
11
22
33
44
55
...
N个请大侠们帮忙看看代码要怎么写。,谢谢!
11
22
33
22
44
11
55
...
N个我想删除里面的重复项,并且不保留。
处理后的想要结果是这样:
33
44
55
...
N个但是用以下代码处理并不是这样子,它保留了一个重复。
pList := TStringList.Create;
pList.sorted := True;
pList.Duplicates := dupIgnore;
pList.LoadFromFile('1.txt');
pList.SaveToFile('2.txt');
pList.Free;
结果为:
11
22
33
44
55
...
N个请大侠们帮忙看看代码要怎么写。,谢谢!
解决方案 »
- delphi 子窗体或者 formstyle:fsNormal 打开第一次没有事,再打开出错,为什么?
- delphi TDecisionGrid 里面无数据 在报表中有数据(Fastreport) ????
- dll改名的问题
- 如何使程序在不同的电脑中,体现一样的字体大小?
- 保存treeview节点,操作完后返回到节点的位置!
- job info , 关心自己前途的delphi高手请进
- 账套的建立?账套编写的原理?
- 求助,高分在线等!
- 关于换行的问题。memo中的字符串,我怎么可以检测并去掉换行的标志。
- 各位有谁被猎头找上过?
- sendmessage模拟鼠标移动
- 求Delphi XE4相关控件下载地址
var
buffer: TStringList;
cnt: Integer;
begin
stringList.Sort;
buffer := TStringList.Create;
try
buffer.Sorted := True;
buffer.Duplicates := dupIgnore;
buffer.BeginUpdate;
for cnt := 0 to stringList.Count - 1 do
buffer.Add(stringList[cnt]) ;
buffer.EndUpdate;
stringList.Assign(buffer) ;
finally
FreeandNil(buffer) ;
end;
end;
sLi: TStringList;
begin
sLi := TStringList.Create;
try
sLi.LoadFromFile('c:\111.txt');
RemoveDuplicates(sLi);
sLi.SaveToFile('c:\111.txt');
finally
sLi.Free;
end;
end;
var
CurrentString: string;
LastString: string;
Count: Integer;
Index: Integer;
SourceList: TStringList;
UniqueList: TStringList;
begin
Count := 1;
LastString := '';
SourceList := TStringList.Create;
UniqueList := TStringList.Create;
try
SourceList.LoadFromFile('1.txt');
SourceList.Sorted := True;
for Index :=0 to Pred(SourceList.Count) do
begin
CurrentString := SourceList[Index];
if CurrentString = LastString then
Count := Count + 1
else
begin
if LastString <> '' then
begin
if Count = 1 then
UniqueList.Add(LastString)
else
Count := 1;
end;
end;
LastString := CurrentString;
end;
if Count = 1 then UniqueList.Add(LastString);
UniqueList.SaveToFile('2.txt');
finally
SourceList.Free;
UniqueList.Free;
end;
end;
方法不是很好,没有任何优化,仅仅达到目的而已。仅供参考。