0

我有一个带有属性字符串的模型,其格式可以是“00000044”,所以假设我正在查询一个列表

public class Foo
{
     private string MemberNo { get; set; }
}

从实体框架填充,

我们的套装包括以下内容:

"00000044" include this
"44000000" include this
"20440000" exclude this

如何编写一个查询,以排除我们搜索条件“44”左侧非零数字的任何内容

是否可以将 Regex 与 linq 结合使用,还是有更聪明的方法?

4

2 回答 2

6
var filteredFoos = myFoos
    .Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));

现在这是如果您想带回 all Foos,但如果您想使用实体框架,请查看答案以正确翻译它。

于 2012-05-29T03:15:30.393 回答
1
var result = fooList.Where(foo => Regex.IsMatch(foo.MemberNo, @"^0*44\d*$"));

您还需要公开 MemberNo 属性。

编辑

或者,一个无正则表达式的版本:

var result = fooList.Where(foo => foo.MemberNo.TrimStart('0').StartsWith("44"));
于 2012-05-29T03:13:31.917 回答