首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较后从TStringList中删除多个项

比较后从TStringList中删除多个项
EN

Stack Overflow用户
提问于 2015-10-26 19:00:05
回答 1查看 850关注 0票数 0

任何人都可以帮助比较两个字符串列表并从中得到区别的最佳方法是什么?

例如,如果我有AList和BList,比如

AList

  • ABC
  • CDE
  • EFG
  • 荷航
  • 阶段
  • LMO
  • TKJ

BList

  • ABC
  • CDE
  • EFG
  • 荷航
  • 阶段
  • LMO
  • TKJ
  • FGJ
  • FGJ
  • 伊杰

如果我拿它们做比较

代码语言:javascript
复制
     for i := 0 to BList.count-1 do
       if AList.indexof(BList[i]) < 0 then
         ResultList.Add(BList[i]);

结果是:

  • FGJ
  • FGJ
  • 伊杰

我只需要元素一次。如何避免多项?是否有比从列表中删除多个项的过程更好的解决方案?为我的英语道歉,谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 19:14:56

TStringList有一个属性Duplicates,它控制尝试将重复项添加到排序的列表时应该发生的事情。

从文件中:

dupIgnore忽略向列表添加重复字符串的尝试。当尝试向排序列表添加重复字符串时,dupError会引发EStringListError异常。 dupAccept允许排序列表中的重复字符串。

所以,设定

代码语言:javascript
复制
  ResultList.Sorted := True;
  ResultList.Duplicates := dupIgnore;
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33353545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档