当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

C#中指定字符串搜索类型的IndexOf方法

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:27:21

:2012-06-17 11:11:12

有时,我们在查找一个字符串中是否包含一个指定的子字符串时,要对搜索的大小写等内容进行设置,这可以借助IndexOf方法的另外一种重载格式IndexOf(string value, StringComparison comparisonType)形式来进行。该方法的原型如下:

publicint 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)publicint IndexOf(char value)

(2)publicint IndexOf(string value)

(3)publicint IndexOf( string value, int startIndex)

(4)publicint IndexOf(char value, int startIndex )

(5)publicint IndexOf(char value, int startIndex,int count )

(6)publicint IndexOf(string value,int startIndex,int count )

(7)publicint IndexOf(string value,int startIndex,StringComparison comparisonType )

(8)publicint IndexOf(string value,int startIndex,int count, StringComparison comparisonType )


C#中指定字符串搜索类型的IndexOf方法