使用 Linq 和 Regex 比较 2 个字符串数组进行部分匹配
Comparing 2 string arrays using Linq and Regex for a partial match
我有一个搜索词数组和一个需要搜索的第二个数组,return判断真假取决于第二个数组中的任何字符串是否包含第一个数组中的文本。我尝试使用 linq,但如果第二个数组中的任何值包含的不仅仅是那些搜索词,我就无法将其设为 return true。我正在考虑将 Regex 与 linq 查询结合使用,但我不确定它是如何工作的。这是我尝试过的
string[] gsdSearchVerbiage =
{
"grade",
"transcript",
"gsd"
};
string[] tableColumns = new string []
{
"maxsgrades",
"somethingElse",
};
bool gsdFound = tableColumns.Any(
x => gsdSearchVerbiage.Contains(x));
这 return 是错误的。我明白为什么它是 returning false,但我不知道如何解决它。如果答案是使用正则表达式,我不知道如何在 2 个数组上执行此操作...
最后一条语句应该是
bool gsdFound = tableColumns.Any(
x => gsdSearchVerbiage.Any(y => x.Contains(y)));
因为您试图知道 tableColumns (x) 的当前项目是否包含任何 gsdSearchVerbiage 词 (y)
我有一个搜索词数组和一个需要搜索的第二个数组,return判断真假取决于第二个数组中的任何字符串是否包含第一个数组中的文本。我尝试使用 linq,但如果第二个数组中的任何值包含的不仅仅是那些搜索词,我就无法将其设为 return true。我正在考虑将 Regex 与 linq 查询结合使用,但我不确定它是如何工作的。这是我尝试过的
string[] gsdSearchVerbiage =
{
"grade",
"transcript",
"gsd"
};
string[] tableColumns = new string []
{
"maxsgrades",
"somethingElse",
};
bool gsdFound = tableColumns.Any(
x => gsdSearchVerbiage.Contains(x));
这 return 是错误的。我明白为什么它是 returning false,但我不知道如何解决它。如果答案是使用正则表达式,我不知道如何在 2 个数组上执行此操作...
最后一条语句应该是
bool gsdFound = tableColumns.Any(
x => gsdSearchVerbiage.Any(y => x.Contains(y)));
因为您试图知道 tableColumns (x) 的当前项目是否包含任何 gsdSearchVerbiage 词 (y)