欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#.NET字符串比较中忽略符号的方法

程序员文章站 2023-12-14 16:04:10
比如有这样两个字符串:复制代码 代码如下:           ...

比如有这样两个字符串:

复制代码 代码如下:

            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.

上一篇:

下一篇: