这在 LINQ 中很棘手吗?正则表达式与 Linq 组合
本文关键字:正则表达式 Linq 组合 LINQ 这在 | 更新日期: 2023-09-27 18:35:31
我有一个模型,其属性字符串可以是"00000044"格式,所以假设我正在查询一个列表
public class Foo
{
private string MemberNo { get; set; }
}
从实体框架填充,
我们的套装包括以下内容:
"00000044" include this
"44000000" include this
"20440000" exclude this
如何编写一个查询,以排除搜索条件"44"左侧带有非零数字的任何内容
是否可以将正则表达式与 linq 结合使用,或者是否有更智能的方法?
铽
var filteredFoos = myFoos
.Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));
现在,如果您想恢复所有Foos
,但是如果您想使用实体框架,请查看此答案以正确翻译它。
var result = fooList.Where(foo => Regex.IsMatch(foo.MemberNo, @"^0*44'd*$"));
您还需要将 MemberNo 属性设为公开。
编辑
或者,一个无正则表达式的版本:
var result = fooList.Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));