uses System.SysUtils, System.Classes; procedure DeleteContainingLinesOnce(var originalList: TStringList; const deleteList: TStringList); var i, j: Integer; begin for j := 0 to deleteList.Count - 1 do begin for i := 0 to originalList.Count - 1 do begin if Pos(deleteList[j], originalList[i]) > 0 then begin originalList.Delete(i); Break; // 只删除一次,跳出内层循环 end; end; end; end; procedure Test; var originalList, deleteList: TStringList; begin originalList := TStringList.Create; deleteList := TStringList.Create; try // 添加测试数据到 originalList originalList.Add('第1章 pie'); originalList.Add('第1章 split'); originalList.Add('第2章 tart'); originalList.Add('第3章 juice'); originalList.Add('第3章 bread'); originalList.Add('第4章 soda'); // 添加要删除的行到 deleteList deleteList.Add('第1章'); deleteList.Add('第3章'); // 删除 originalList 中包含 deleteList 中文本的行(每个文本只删除一次) DeleteContainingLinesOnce(originalList, deleteList); // 输出结果 Writeln('删除后的内容:'); Writeln(originalList.Text); readln; finally originalList.Free; deleteList.Free; end; end; begin Test; end.
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.049631118774414 seconds