C#2010 定位与查字符
定位和查字符操作可以对某个字符串进行检索操作,获取其是否包含某一个字符或字符串,并返回逻辑值或获取的索引位置。在C#中,提供了6种可以进行定位和查的方法。
1.EndsWith()方法
EndsWith()方法可以对字符串进行检索,判断某个字符串是否以指定的字符串为结尾,其使用方法如下所示。
String1.EndsWith(String2);
在上面的代码中,String1关键字表示被判断的字符串变量实例名称或引用;String2关键字表示指定的字符串结尾。例如,判断多个字符串是否以“XP”结尾,代码如下。
string soft1 = "Windows XP";
string soft2 = "Office XP";
string soft3 = "Windows Server 2003";
Console.WriteLine(soft1.EndsWith("XP"));//输出:True
Console.WriteLine(soft2.EndsWith("XP"));//输出:True
Console.WriteLine(soft3.EndsWith("XP"));//输出:False
2.IndexOf()方法
字符串的IndexOf()方法与数组和集合类似,其作用是查指定的字符串在某个字符串中的索引位置,其使用方法如下。
String1.IndexOf(String2);
在上面的代码中,String1关键字表示被判断的字符串变量实例名称,或其引用;String2关键字表示要查询的字符串。IndexOf()方法返回的是一个整数型的数值,例如,检索“Visual Studio”这个字符串中是否包含“tu”的字符串,代码如下所示。
string str = "Visual Studio";
Console.WriteLine(str.IndexOf("tu"));//输出:8
IndexOf()方法不仅可以在字符串中检索字符串,还可以在字符串中检索字符,其方法的参数可以为任意字符型变量。例如,同样对上面的字符串进行操作,检索字符“u”在第几个索引位置出现,代码如下。
Console.WriteLine(str.IndexOf('u'));//输出:3
writeline输出数值变量 | IndexOf()方法只能返回一个结果。因此,当字符串中包含多个检索的字符或字符串时,也只能将检索的第一个结果之索引位置返回。如果目标的字符串中不包含要索引的字符和字符串,则该方法将返回-1。 |
除了直接进行检索外,IndexOf()方法还可以从指定的索引位置开始,进行字符或字符串的检索,其使用方法如下。
String1.IndexOf(String2 , StartIndex , [Counter]);
在上面的代码中,被中括号“[]”括住的参数为可选参数,这段代码新增了一个StartIndex关键字和一个Counter参数。StartIndex关键字表示开始进行检索的索引号;Counter关键字表
示检索的字符区段长度。
例如,在“Visual Studio”的字符串中包含两个字母u,如果需要获取第二个字母u的索引位置,就可以跳过第一个字母u的索引,从第4个字符开始检索,至第10个字符处结束,代码如下。
Console.WriteLine(str.IndexOf('u' , 4));//输出:9
3.IndexOfAny()方法
IndexOfAny()方法与IndexOf()方法的区别在于,IndexOfAny()方法只能检索字符串中某一个字符,而不能检索某一个字符串。其参数的使用与IndexOf()方法类似,在此将不再赘述。
4.LastIndexOf()方法
LastIndexOf()方法的使用方式与IndexOf()方法完全相同,但其返回的结果有所区别。IndexOf()方法返回的是字符串中第一个被检索的字符或字符串的索引位置,而LastIndexOf
()方法则与之相反,返回的是字符串中最后一个被检索的字符或字符串索引位置,其使用如下所示。
String1.LastIndexOf(String2 , [StartIndex] , [Counter]);
在上面的代码中,中括号“[]”括住的关键字为可选的关键字,其中String1关键字表示被搜索的目标字符串;String2关键字表示要检索的字符或字符串;StartIndex关键字表示目标字符串中的起始字符索引;Counter关键字表示检索的总长度。
例如,为LastIndexOf()方法添加不同的参数,可以返回不同的检索结果,代码如下所示。
string str = "我正在学习一种新的编程语言";
Console.WriteLine(str.IndexOf("新"));//输出:7
Console.WriteLine(str.IndexOf("新", 8));//输出:-1
Console.WriteLine(str.IndexOf("新", 5, 3));//输出:7
Console.WriteLine(str.IndexOf("新", 5, 2));//输出:-1
5.LastIndexOfAny()方法
LastIndexOfAny()方法与LastIndexOf()方法的区别在于,LastIndexOfAny()方法只能检索字符串中某一个字符,而不能检索某一个字符串。其参数的使用与LastIndexOf()方法类似,在此将不再赘述。
6.StartsWith()方法
StartsWith()方法与EndsWith()方法的使用方式十分类似,但其功能有所区别。EndsWith()方法主要用于检索目标字符串的末尾是否包含其他字符串,而StartsWith()方法则主要用于检索目标字符串的开头是否为某个字符串,并返回逻辑值,其使用方法如下。
String1.StartsWith(String2);
在上面的代码中,String1关键字表示被检索的目标字符串,String2关键字表示要检索的字符串,例如,检索下面的几个字符串是否以Windows开头,代码如下。
string s1 = "Windows XP";
string s2 = "Vista";
string s3 = "Windows 7";
Console.WriteLine(s1.StartsWith("Windows"));//输出:True
Console.WriteLine(s2.StartsWith("Windows"));//输出:False
Console.WriteLine(s3.StartsWith("Windows"));//输出:True
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论