搜索/比较文本的简化方法

时间:2014-11-19 20:01:03

标签: c#

我习惯这样做:

if (string1.ToLower()==string2.ToLower) ...

但还有其他更简化的方法吗?

6 个答案:

答案 0 :(得分:4)

如果您要使用案例感知比较来检查“Equality”,请使用String.Equals overload,其中使用参数来指定区分大小写的比较。像:

if (String.Equals("test 1", "Test 1", StringComparison.InvariantCultureIgnoreCase))

if (String.Equals("test 1", "Test 1", StringComparison.OrdinalIgnoreCase))
如果您尝试比较字符串以进行排序,那么

String.Compare会很有用。

在转换为大写/小写之前,请参阅:The Turkish İ Problem and Why You Should Care

答案 1 :(得分:4)

您可以使用Equals功能

if (string1.Equals(string2, StringComparison.OrdinalIgnoreCase)) ...

答案 2 :(得分:3)

使用String.Compare方法,它更加优雅。 这是关于方法的文章和非常好的例子:http://msdn.microsoft.com/ru-ru/library/cc190529(v=vs.110).aspx

答案 3 :(得分:3)

尝试使用string.Compare

string.Compare("test 1", "Test 1", true)

答案 4 :(得分:2)

您可以使用string.Compare()方法重载,它允许您忽略大小写,例如:

string.Compare(string1, string2, true);

答案 5 :(得分:1)

String.Compare nocase将解决您的问题。

string s1 = "Animal";
string s2 = "animal";
string.Compare(s1,s2,true)

将返回零 http://msdn.microsoft.com/en-us/library/zkcaxw5y(v=vs.110).aspx