list - LINQ - 字符串的一部分包含在列表元素中
问题描述
我有一个数据库,其中的一列可以包含用逗号分隔的值,如:
madrid, barcelona, paris
rome
paris
amsterdam, madrid
florence, tokyo
paris, barcelona
milan
london, edinburgh
....
然后我有一个列表:
var listTarget = new List<string>{"paris", "amsterdam", "rome"};
在 LINQ 中,我想提取在 listTarget 中至少包含一个值的所有行,因此结果将是:
madrid, barcelona, paris
rome
paris
amsterdam, madrid
任何人都可以帮助我吗?
解决方案
您可以使用分隔符(在本例中为“,”)进行拆分并比较列表。例如,
.Where(x=> x.City.Split(',').Any(c=> listTarget.Contains(c.Trim())));
推荐阅读
- asp.net-mvc - VS2019 ASP.NET(MVC) - 如何仅使用电子邮件和密码登录
- r - 我在使用 Shiny dashboardSidebar 时遇到问题
- reactjs - 在 typescript 中扩展 material-ui 组件
- python - 从名称 str 获取 python typing.Type
- python - Django restful 框架“序列化器字段可能命名不正确”
- javascript - AJAX Jquery 调用与环境相关的 api url
- javascript - 如何在画布上绘制并使另一个对象在移动时不在同一画布上绘制
- google-sheets - 每个 *n 单元格的水平唯一值 (Gsheets)
- sql - 如何获取postgreSQL中两个值之间的总数
- python - 使用 mypy 将列表连接成数组