C#.NET字符串比较中忽略符号的方法
C#.NET字符串比较中忽略符号的方法
发布时间:2016-12-28 来源:查字典编辑
摘要:比如有这样两个字符串:复制代码代码如下:vara="a-b=c12";varb="a.b___c12";好吧显然无论你使用哪种常规方法,他们...

比如有这样两个字符串:

复制代码 代码如下:

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.

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类