持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情
前言
今天我们来学习一下关于indexOf这个方法,我们知道数组或者字符串中,我们都会用到indexOf这个方法查找指定数据的位置,今天我们就来学一下这个知识,用过的同学可以忽略,这篇文章主要是针对不会的同学,那么我们今天就来学一下这个知识,创作不易,点赞关注评论转发,大家顺便点点赞吧,你的点赞收藏关注,是我写文章的动力,栓Q啦。
indexOf简单示范
indexOf对于数组和字符串都是很好用的,对于数组,我们可以查具体某个字符串位置,对于字符串我们可以查对应的字符位置
具体方法
该示例调用方法的以下三个重载 IndexOf 来查找字符串数组中的字符串索引:
IndexOf(Array, Object),用于确定字符串数组中字符串“the”的第一个匹配项。
IndexOf(Array, Object, Int32),用于确定字符串数组的第四个元素中字符串“the”的第一个匹配项。
IndexOf(Array, Object, Int32, Int32),用于确定字符串数组中字符串“the”的第一个匹配项,该字符串与数组末尾匹配之后的元素。
简单使用
var array =['REG', '2018', '2018'];
array.indexOf(‘REG') // 0
array.indexOf(‘R') // -1
array.indexOf('2018′) // 1
array.indexOf(2018) // -1
arr.indexOf(‘orange') 输出 0 因为 ‘orange' 是数组的第 0 个元素,匹配到并返回下标。
arr.indexOf(‘o') 输出 -1 因为此方法不会在每一个元素的基础上再次执行 indexOf 匹配。
arr.indexOf('2016′) 输出 1 因为此方法从头匹配直到匹配到时返回第一个数组元素的下表,而不是返回全部匹配的下标。
arr.indexOf(2016) 输出 -1 注意:这里不会做隐式类型转换。
查找字串中指定字符或字串首次出现的位置,返首索引值,如:
str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)
str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf("字",start,end);//从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]注意:start+end不能大于str1的长度
//indexof参数为string,在字符串中寻找参数字符串第一次出现的位置并返回该位置。如string s = "0123dfdfdf"; int i = s.indexof("df"); 这时i==4。
// 如果需要更强大的字符串解析功能应该用Regex类,使用正则表达式对字符串进行匹配。
// indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1
string test = "asdfjsdfjgkfasdsfsgfhgjgfjgdddd";
test.indexof('d') =2 //从前向后 定位 d 第一次出现的位置
test.indexof('d',1) =2 //从前向后 定位 d 从第三个字符串 第一次出现的位置
test.indexof('d',5,2) =6 //从前向后 定位 d 从第5 位开始查,查2位,即 从第5位到第7位;
lastindexof() :在字符串中从后向前定位字符和字符串;、
//用法和 indexof() 完全相同。
扩展IndexOfAny和lastindexofany
他们接受字符数组做为变元,其他方法同上,返回数组中任何一个字符最早出现的下标位置
char[] bbv = { 's', 'c', 'b' };
string abc = "acsdfgdfgchacscdsad";
Response.Write(abc.IndexOfAny(bbv));
Response.Write(abc.IndexOfAny(bbv, 5));
Response.Write(abc.IndexOfAny(bbv, 5, 3));
lastindexofany 同上。
总结
这篇文章比较简单,只是简单的学习一下,对它有更多的认识,在有需求的时候最起码有路子,虽然很简单,但是也是可以学到东西的,我们学习了新的知识,对我们的知识储备及技术又有新的一点点的进步,C#的技术就是先简单再难嘛,积少成多之后才会成长才会进步,我们要不断的学习不断的探索,才能有学习的动力,才会有学习的欲望,创作不易,点赞评论收藏关注,嘿嘿,不喜勿喷!!!!