c# - 从搜索中删除一个字符并返回包含该字符的正确项目
问题描述
在搜索了一段时间并且空无一物之后,我决定发布希望有人可以帮助我走向正确的方向。
我试图找出一种方法来返回包含连字符的结果,同时将其从搜索查询中删除。某些项目可能会返回多个连字符
IE
搜索
020550407
将返回正确的项目
-02055-0407
-02055-0407-1
每个项目都有连字符的位置没有模式,所以我需要能够从搜索查询的任何地方删除它。
我尝试了几种不同的方法,但都没有运气。
例子:
results = (from x in results
where x.item.Replace("-", "").Contains(NumberSearch)
select x);
- -或者 - -
results = results.Where(x => SqlFunctions.PatIndex(NumberSearch, x.item)==1);
- -或者 - -
var result = (from x in results
where SqlMethods.Like(x.item, NumberSearch)
select x)
除其他事项外。
任何帮助将不胜感激。
解决方案
你很亲密。这应该有效:
results = results.Where(x => x.item.Replace("-", "").Contains(NumberSearch)).ToList();
推荐阅读
- android - 如何确定景观反应原生的旋转
- javascript - pm2 在集群模式下不推荐使用 worker
- android - barteksc/AndroidPDFViewer 超链接不起作用
- android - 将属性传递给正在使用它的视图中的可绘制对象
- html - 悬停时更改字段的背景(HTML,CSS)
- ios - Firebase Analytics 事件不显示 ad_click 和 ad_impression 事件
- reactjs - 如何使用 react-google-maps 禁用街景?
- javascript - 反应图像未在多站点页面上加载
- asp.net-mvc - MVC 中的 .NET Highcharts
- swift - 解析日期需要大量 RAM