如何使用linq包含%[0-9]%

时间:2013-12-10 17:38:49

标签: c# linq

我正在尝试编写一个使用sql-server中的like %[0-9]%的Linq查询。

这是我的开始:

string[] partNumbers = new string[] 
{ 
    "India", "US","UK", "Australia","Germany", "1", "7", "9" , "50", "A1"
};

var result = partNumbers.OrderBy(x => x).ToList();

如何在包含类似“%[0-9]%”

的c#中编写linq查询

这是预期的输出:

  

1
  7
  9
  50个
  A1

2 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

string[] partNumbers = new string[] 
{ 
    "India", "US","UK", "Australia","Germany", "1", "7", "9" , "50", "A1"
};

char[] numbers = {'0','1','2','3','4','5','6','7','8','9'};

var result = partNumbers.Where(i=>i.Intersect(numbers).Any()).ToList();

<强>结果:

1
7
9
50
A1

编辑:如果您在SQL中查找LIKE运算符,则可以使用SqlMethods.Like方法。

答案 1 :(得分:1)

您可以使用正则表达式

var result = partNumbers.Where(x => Regex.Match(x, "\\d+").Success);