我在字符串數組上使用Array.Contains
方法。我怎樣才能使這種情況下不敏感?如何使Array.Contains對字符串數組不區分大小寫?
回答
array.Contains("str", StringComparer.OrdinalIgnoreCase);
,或者根據具體情況,您可能希望:從我的身邊
array.Contains("str", StringComparer.CurrentCultureIgnoreCase);
array.Contains("str", StringComparer.InvariantCultureIgnoreCase);
new[] { "ABC" }.Select(e => e.ToLower()).Contains("abc") // returns true
執行一個自定義IEqualityComparer考慮不區分大小寫。
此外,檢查this了。所以後來(理論上),所有你需要做的是:
myArray.Contains("abc", ProjectionEqualityComparer<string>.Create(a => a.ToLower()))
爲什麼要重新發明輪子? – 2009-06-04 19:46:29
因爲直到5分鐘前我不知道StringComparer存在。 :) – Kon 2009-06-04 19:51:04
一些重要事項,或至少把一些分佈信息在一個地方 - 與StringComparer關於上面的尖端等在:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
array.Contains()
是一種LINQ擴展方法,因此僅適用於.NET 3.5或更高版本的標準。但是:在.NET 2.0簡單
Contains()
方法(不考慮不區分大小寫考慮)是至少可以像這樣,具有鑄造:if (((IList<string>)mydotNet2Array).Contains(「str」)) {}
加成1:對於上面給出的原因,在
StringComparer
1.用以下命名空間夾雜物僅作品(在.NET 3.5測試):using System;
using System.Linq;
除了2 .:的
Contains()
方法不僅使用數組,它也列出了適用:-)
- 1. 對數組中的字符串不區分大小寫NSPredicate?
- 2. Remove_If不區分大小寫字符串
- 3. 檢查數組包含字符串,不區分大小寫
- 4. 不區分大小寫字符串數組比較
- 5. 如何使字符串比較不區分大小寫?
- 6. 如何使字符串大小寫不敏感的Java腳本字符串不區分大小寫的功能
- 7. IOS/Objective-C:獲取字符串數組中的字符串大小寫不區分大小寫
- 8. 字符串包含數組中的任何項(不區分大小寫)
- 9. 使用C++對字符串中的區分大小寫的字進行計數
- 10. 如何使lucene不區分大小寫
- 11. 如何使jquery不區分大小寫?
- 12. 如何使Oracle不區分大小寫
- 13. 如何使preg_quote不區分大小寫?
- 14. 如何比較EF中區分大小寫的字符串?
- 15. 使區分大小寫不敏感的區分大小寫表
- 16. JavaScript數字不區分大小寫
- 17. 如何使用hash_map和不區分大小寫的unicode字符串作爲鍵?
- 18. 如何使用TStringHelper測試兩個字符串的odinal不區分大小寫?
- 19. Swift字符串中的區分大小寫的字符替換
- 20. 搜索不區分大小寫的字符串
- 21. C#.Net不區分大小寫的字符串
- 22. 不區分大小寫的字符串比較C++
- 23. Javascript |不區分大小寫字符串替換
- 24. 不區分大小寫的字符串替換Go
- 25. 不區分大小寫比較字符串
- 26. F#不區分大小寫字符串比較
- 27. PostgreSQL:不區分大小寫的字符串比較
- 28. 不區分大小寫字符串匹配
- 29. 在C++中替換子字符串不區分大小寫
- 30. 不區分大小寫的字符串搜索
但不會執行這每一個昂貴的ToLower將()調用項目在列表中?帶有StringComparison超載的String.Equals在本例中更適合。 – 2011-05-19 20:49:17