C#中指定字符串搜索类型的IndexOf方法
有时,我们在查找一个字符串中是否包含一个指定的子字符串时,要对搜索的大小写等内容进行设置,这可以借助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 = "翔宇亭IT乐园 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 )
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。