我在字符串数组上使用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