当前位置: 编程技术>.net/c#/asp.net
C#.NET字符串比较中忽略符号的方法
来源: 互联网 发布时间:2014-10-18
本文导语: 比如有这样两个字符串: 代码如下: var a = "a-b=c12"; var b = "a.b___c12";好吧显然无论你使用哪种常规方法,他们的比较结果肯定不是0,因为他们长度不等,即使长度相等由于字符之间的符号不等他...
比如有这样两个字符串:
代码如下:
var a = "a-b=c12";
var b = "a.b___c12";
好吧显然无论你使用哪种常规方法,他们的比较结果肯定不是0,因为他们长度不等,即使长度相等由于字符之间的符号不等他们也不可能相等。
怎样在字符串比较中忽略符号?事实上CompareOptions.IgnoreSymbols枚举选项可以达到这个要求。使用CultureInfo中的CompareInfo,然后用CompareInfo的Compare方法去比较两个字符串(这里可以指定CompareOptions枚举)。
代码:
代码如下:
var a = "a-bc=12";
var b = "a.b___c12";
Console.WriteLine(String.Compare(a, b));
//使用InvariantCulture
Console.WriteLine(CultureInfo.InvariantCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
//当前当前CultureInfo
Console.WriteLine(CultureInfo.CurrentCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
输出:
代码如下:
1
0
0
后面使用CompareOptions.IgnoreSymbols的方法返回0.