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

C# 使用LINQ查询从当前列表中获取包含任何数值的新列表,c#,linq,C#,Linq,如何使用c中的LINQ查询从当前列表中获取包含任何数值的新列表。 ? i、 e: 当前列表>>abc,bcd123,abcd,332bcd 我想要的:新列表>>BCD123332BCD 我过去所做的: 您可以使用以下方法检查字符串中的任何字符是否为数字: 另一个选项是使用正则表达式: var regex = new Regex(@"\d"); var newList = videos.Where(x => regex.IsMatch(x.OldList)); 您可以使用以下方法检查字符串

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

i、 e: 当前列表>>abc,bcd123,abcd,332bcd

我想要的:新列表>>BCD123332BCD

我过去所做的:

您可以使用以下方法检查字符串中的任何字符是否为数字:

另一个选项是使用正则表达式:

var regex = new Regex(@"\d");
var newList = videos.Where(x => regex.IsMatch(x.OldList));
您可以使用以下方法检查字符串中的任何字符是否为数字:

另一个选项是使用正则表达式:

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

可以使用正则表达式

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

可以使用正则表达式

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

+答案是1。但是不应该是videos.Whereregex.IsMatch;be videos.Wherex=>regex.IsMatchx?@Ehsan不,IsMatchstring满足Func签名,所以您可以通过it@Ehsan您是对的,因为IsMatchstring的另一个重载int使用WhereFunc谓词进行不明确的调用。如果您有字符串列表,则可以使用list.FindAllregex.IsMatch,但重载Where和IsMatch会使IEnumerable+1无法获得答案。但是不应该是videos.Whereregex.IsMatch;be videos.Wherex=>regex.IsMatchx?@Ehsan不,IsMatchstring满足Func签名,所以您可以通过it@Ehsan您是对的,因为IsMatchstring的另一个重载int使用WhereFunc谓词进行不明确的调用。如果你有字符串列表,你可以使用list.FindAllregex.IsMatch,但是重载Where和IsMatch使它无法在IEnumerable上使用OldList属性编辑问题了吗?没有,先生,@Sergey BerezovskiyOK。看来我错过了那部分。旁注-当您使用静态方法Regex.IsMatch时,将为每个选中的字符串创建Regex类的新实例非常感谢您,感谢您宝贵的代码@Sergey Berezovskiy是否使用OldList属性编辑了问题?没有,先生@Sergey BerezovskiyOK。看来我错过了那部分。旁注-当您使用静态方法Regex.IsMatch时,将为每个选中的字符串创建Regex类的新实例非常感谢您,先生,感谢您宝贵的代码@Sergey Berezovskiy