使用LINQ查询获取包含当前列表中任何数值的新列表

时间:2014-03-11 09:42:55

标签: c# linq

如何使用c#中的LINQ查询获取包含当前列表中任何数值的新列表。 ??

即: CurrentList>> abc,bcd123,abcd,332bcd

我想要的:NewList>> bcd123,332bcd

我过去做过的事情:

 var newList= videos.Select(x => x.OldList.Contains("1"));  

2 个答案:

答案 0 :(得分:3)

您可以使用Enumerable.Any检查字符串中的任何字符是否为数字(借助Char.IsNumber方法):

var newList = videos.Where(x => x.OldList.Any(Char.IsNumber));

另一种选择是使用正则表达式:

var regex = new Regex(@"\d");
var newList = videos.Where(x => regex.IsMatch(x.OldList));

答案 1 :(得分:1)

您可以使用正则表达式

 var newList= videos.Select(x => System.Text.RegularExpressions.Regex.IsMatch(x.OldList, @"\d"));