我有一個美國各州列出像查詢荷蘭國際集團LINQ到對象
List<string> state // contain all 51 US states
現在我有包含像OKL一些文本(這意味着在俄克拉何馬州對我來說)的字符串。我想要什麼我想'喜歡'列表狀態查詢並獲得俄克拉荷馬州。
我有一個美國各州列出像查詢荷蘭國際集團LINQ到對象
List<string> state // contain all 51 US states
現在我有包含像OKL一些文本(這意味着在俄克拉何馬州對我來說)的字符串。我想要什麼我想'喜歡'列表狀態查詢並獲得俄克拉荷馬州。
喜歡的東西:
var matches = states.Where(state => state.Contains(searchText));
,如果匹配的情況下爲好,但它不區分大小寫的匹配工作,以及很好。對於這一點,你可能想是這樣的:
var matches = states.Where(state =>
state.IndexOf(searchText, StringComparison.OrdinalIgnoreCase) != -1);
選擇要適當確切的字符串比較 - 你可能想使用當前的文化,例如。
還要檢查
StartsWith
EndsWith
另一個備選
var query = from c in ctx.Customers
where SqlMethods.Like(c.City, "L_n%")
select c;
如果你想要一個真正成熟的近似匹配檢查出http://code.google.com/p/google-diff-match-patch/
Levenshtein距離