首页 > 编程 > C# > 正文

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

2023-05-03 13:32:42
字体:
来源:转载
供稿:网友

有时,我们在查找一个字符串中是否包含一个指定的子字符串时,要对搜索的大小写等内容进行设置,这可以借助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 )

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表