【发布时间】:2019-09-11 15:00:37
【问题描述】:
我有一个预定义的列表词列表。假设它有 7 个元素:
List<string> resourceList={"xyz","dfgabr","asxy", "abec","def","geh","mnbj"}
假设用户输入“xy+ ab”,即他想搜索“xy”或“ab”
string searchword="xy+ ab";
然后我必须在预定义列表中找到所有具有“xy”或“ab”的单词,即所有单词都被“+”分割
所以,输出将有:
{"xyz","dfgabr","abec",""}
我正在尝试类似的东西:
resourceList.Where(s => s.Name.ToLower().Contains(searchWords.Any().ToString().ToLower())).ToList()
但是,我无法构建 LINQ 查询,因为有 2 个数组,我看到的一种方法是连接 2 个数组,然后尝试;但由于我的第二个数组只包含第一个数组的一部分,我的 LINQ 不起作用。
【问题讨论】:
-
我编辑了您的问题并添加了新信息。请记住始终包含所有相关信息into the question itself。
-
你的变量“searchword”会是正则表达式吗?
-
searchword中+后面的空格(不应该是searchwords吗?)可以忽略吗?为什么输出没有asxy?为什么输出有一个空字符串? -
感谢大家提供宝贵的 cmets 和解决方案