我的记录如下
mazhar-kaunain-baig-5
mazhar-kaunain-baig-5-6
mazhar-kaunain-baig
这是我的查询
ptype = _pagecontext.PagesRefs
.Where(m => m.nvcr_Slug.Contains(str+ "-") && m.bit_Active == true)
.ToList();
正确结果:
1) str=mazhar-kaunain-baig
带回来
mazhar-kaunain-baig-5
mazhar-kaunain-baig-5-6
2) str=mazhar-kaunain
什么都不带回来
3) str=mazhar
什么都不带回来
在这种情况下,contains和equals变为无效。如果我有完全匹配的模式,我怎么能达到以下结果。
答案 0 :(得分:1)
取出+"-"
?
sRefs.Where(m => m.nvcr_Slug.Contains(str) && m.bit_Active == true).ToList();
答案 1 :(得分:0)
为什么不使用StartsWith
?
确定此字符串实例的开头是否与指定的字符串匹配。
.Where(m => m.nvcr_Slug.StartsWith(str) && m.bit_Active == true).ToList();
更多信息:
答案 2 :(得分:0)
这将返回您在情况1,2和3中提到的确切结果。
var result = from d in data
let remainingString = d.Slug.Remove(0, Math.Min(text.Length + 1, d.Slug.Length))
where remainingString.Length > 0 && Char.IsDigit(remainingString[0])
select d;