我只找到StringComparison,但这对Contains不起作用。 另一个必要的事情是忽略大小写,“ä”应该等于“a”。忽略大小写和文化的String.Contains()
回答
内部string.Contains
使用string.IndexOf传递StringComparison.Ordinal
。
所以,我认为,你可以很容易地编写使用相同的实现包含
public bool CaseContains(string baseString, string textToSearch, StringComparison comparisonMode)
{
return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
}
的方法,并呼吁与
if(CaseContains(myString, mySearch, StringComparison.CurrentCultureIgnoreCase))
....
这种方法的一个优雅的进化是创建一个扩展方法
public static class StringExtensions
{
public static bool CaseContains(this string baseString, string textToSearch, StringComparison comparisonMode)
{
return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
}
}
and call with
if(myString.CaseContains(mySearch, StringComparison.CurrentCultureIgnoreCase))
.....
这就是一个umlaut过了一个。 “ä”与“a”不一样。如果你想改变它,你需要明确地做。
另外,用'ae'和'ö'替换'o'更常见,用'oe'等。 http://stackoverflow.com/questions/1271567/how-do-i-replace-accents-german-in-net如果他想删除变音符:http://stackoverflow.com/a/7471047/284240 – 2013-04-26 22:40:23
//“ä”与“a”不同。 通常他们是不一样的,但我需要这个产品搜索,所以它更好地显示更多的结果,我认为。 – 2013-04-26 22:51:25
public static bool CustomContains(this string source, string toCheck)
{
CompareInfo ci = new CultureInfo("en-US").CompareInfo;
CompareOptions co = CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace;
return ci.IndexOf(source, toCheck, co) != -1;
}
不能相信我以前从来没有听说过CompareInfo类! – 2016-04-27 09:39:23
- 1. 用apache忽略大小写
- 2. 忽略大小写 - laravel 4
- 3. 忽略大小写difflib.get_close_matches()
- 4. 忽略与BitBucket大小写
- 5. LINQ忽略大小写
- 6. AWK忽略大小写
- 7. 忽略大小写validate_exclusion
- 8. SOPT值忽略大小写
- 9. 忽略区分大小写
- 10. LFTP MGET忽略大小写
- 11. 忽略大小写与__startswith
- 12. 被忽略大小写
- 13. 忽略大小写boost :: regexp
- 14. RegEx忽略大小写
- 15. 替换忽略大小写
- 16. DB4O StartsWith和忽略大小写
- 17. 如何使Class.forName忽略小写/大写
- 18. 忽略大小写的UITextField/UITextView的
- 19. 忽略JDO查询中的大小写
- 20. 的Microsoft Visual Basic 6.5忽略大小写
- 21. 忽略XSLT中的大小写
- 22. 带映射的RewriteMap忽略大小写
- 23. 忽略dplyr包中的大小写
- 24. Backbone.js的:Collection.Get(ID) - >忽略大小写
- 25. 忽略大小写敏感的C#
- 26. 如何忽略RegularExpression中的大小写?
- 27. 忽略大小写的“包含”在Java
- 28. 使用重复时忽略大小写
- 29. 书架orderBy忽略大小写
- 30. 忽略大小写上自动完成
我相信,这是最优雅的解决方案。但StringComparison.CurrentCultureIgnoreCaseare不认可“ä”为“a”。 – 2013-04-27 11:58:32