有时,我们在查找一个字符串中是否包含一个指定的子字符串时,要对搜索的大小写等内容进行设置,这可以借助IndexOf方法的另外一种重载格式IndexOf(string value, StringComparison comparisonType)形式来进行。该方法的原型如下:
public int IndexOf( string value, StringComparison comparisonType )
该方法有两个参数,第一个参数value是要搜索的子字符串,参数comparisonType用来指定字符串的匹配类型。
comparisonType参数是一个枚举类型,其值有6种情况:(详细可参见《C#中枚举类型StringComparison简介》)
(1)CurrentCulture 使用区域敏感排序规则和当前区域比较字符串。
(2)CurrentCultureIgnoreCase 使用区域敏感排序规则、当前区域来比较字符串,同时忽略被比较字符串的大小写。
(3)InvariantCulture 使用区域敏感排序规则和固定区域比较字符串。
(4)InvariantCultureIgnoreCase 使用区域敏感排序规则、固定区域来比较字符串,同时忽略被比较字符串的大小写。
(5)Ordinal 使用序号排序规则比较字符串。
(6)OrdinalIgnoreCase 使用序号排序规则并忽略被比较字符串的大小写,对字符串进行比较。
该方法的返回值为value第一次出现的位置,如果未搜索到子字符串,则返回-1.
下面用一个例子来说明该方法的具体使用方法:
string str = "武林网VEVB is professional IT WebSite。";
int iPos = str.IndexOf( "website", StringComparison.OrdinalIgnoreCase);
这个方法忽略大小写,则返回值为27,如果不指定比较类型的话,则返回-1。
该方法的其它重载形式如下:
(1)public int IndexOf(char value)
(2)public int IndexOf(string value)
(3)public int IndexOf( string value, int startIndex)
(4)public int IndexOf(char value, int startIndex )
(5)public int IndexOf(char value, int startIndex,int count )
(6)public int IndexOf(string value,int startIndex,int count )
(7)public int IndexOf(string value,int startIndex,StringComparison comparisonType )
(8)public int IndexOf(string value,int startIndex,int count, StringComparison comparisonType )
新闻热点
疑难解答