C#.NET字符串比较中忽略符号的方法_技术学院_宜昌市隼壹珍商贸有限公司

您好,欢迎访问宜昌市隼壹珍商贸有限公司

400 890 5375
当前位置: 主页 > 新闻动态 > 技术学院

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

发布时间:2026-01-17  |  点击率:

比如有这样两个字符串:
复制代码 代码如下:
            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.

全国统一服务电话

400 890 5375

电子邮箱:879577@qq.com

公司地址:宜昌市西陵区黄河路5号三峡明珠10栋1051室

咨询微信

TEL:13680874598