C#.NET字符串比較中忽略符號的方法
更新時間:2013年04月26日 15:49:16 作者:
C#.NET字符串比較中忽略符號的方法,需要的朋友可以參考一下
比如有這樣兩個字符串:
復(fù)制代碼 代碼如下:
var a = "a-b=c12";
var b = "a.b___c12";
好吧顯然無論你使用哪種常規(guī)方法,他們的比較結(jié)果肯定不是0,因為他們長度不等,即使長度相等由于字符之間的符號不等他們也不可能相等。
怎樣在字符串比較中忽略符號?事實上CompareOptions.IgnoreSymbols枚舉選項可以達到這個要求。使用CultureInfo中的CompareInfo,然后用CompareInfo的Compare方法去比較兩個字符串(這里可以指定CompareOptions枚舉)。
代碼:
復(fù)制代碼 代碼如下:
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));
//當(dāng)前當(dāng)前CultureInfo
Console.WriteLine(CultureInfo.CurrentCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
輸出:
復(fù)制代碼 代碼如下:
1
0
0
后面使用CompareOptions.IgnoreSymbols的方法返回0.
相關(guān)文章
基于Silverlight打印的使用詳解,是否為微軟的Bug問題
本篇文章對Silverlight打印的使用進行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05