字符串数组的部分匹配

时间:2011-10-02 17:28:14

标签: c# linq

我有一个字符串数组,如下所示:

string[] userFile = new string[] { "JohnDoe/23521/1", "JaneDoe/35232/4", ... };

我正在尝试以下操作,但这只会返回完全匹配。如果我正在搜索“23521”,我希望能够返回一个匹配。

var stringToCheck = "23521";

if (userFile.Any(s => stringToCheck.Contains(s)))
{
    // ...

4 个答案:

答案 0 :(得分:7)

您的Contains()来电应该是相反的:

if (userFile.Any(s => s.Contains(stringToCheck)))

您想检查s字符串数组中的任何字符串userFile是否包含stringToCheck

答案 1 :(得分:1)

if(userFile.Any(s => s.Contains(stringToCheck)))

答案 2 :(得分:1)

您想检查数组中的字符串是否包含检查字符串,而不是相反:

userFile.Any(s => s.Contains(stringToCheck))

答案 3 :(得分:1)

以下似乎是一个更好的选择:

if (userFile.Any(s => s.Contains(stringToCheck)))