C# indexof和indexofany区别(转)
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符。在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面进行详细介绍。
1.IndexOf/LastIndexOf
IndexOf方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的重载形式如下所示。
(1)定位字符:
int IndexOf(char value)
int IndexOf(char value, int startIndex)
int IndexOf(char value, int startIndex, int count)
(2)定位子串:
int IndexOf(string value)
int IndexOf(string value, int startIndex)
int IndexOf(string value, int startIndex, int count)
在上述重载形式中,其参数含义如下:
value:待定位的字符或者子串。
startIndex:在总串中开始搜索的其实位置。
count:在总串中从起始位置开始搜索的字符数。
下面的代码在“Hello”中寻找字符‘l’第一次出现的位置。
代码4-7 使用IndexOf寻找字符第一次出现位置:Default.aspx.cs
1. String s=”Hello”;
2. int I = s.IndexOf(‘l’)); //2
同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或者子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述。
2.IndexOfAny/LastIndexOfAny
IndexOfAny方法功能同IndexOf类似,区别在于,它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。同样,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的IndexOfAny重载形式有3种:
(1)int IndexOfAny(char[]anyOf);
(2)int IndexOfAny(char[]anyOf, int startIndex);
(3)int IndexOfAny(char[]anyOf, int startIndex, int count)。
在上述重载形式中,其参数含义如下:
(1)anyOf:待定位的字符数组,方法将返回这个数组中任意一个字符第一次出现的位置。
(2)startIndex:在原字符串中开始搜索的起始位置。
(3)count:在原字符串中从起始位置开始搜索的字符数。
下例在“Hello”中寻找字符‘l’第一次和最后一次出现的位置。
代码4-8 使用IndexOfAny寻找子串第一次和最后一次出现位置:Default.aspx.cs
1. String s = “Hello”;
2. char[] anyOf={'H','e','l'};
3. int i1 = s.IndexOfAny(anyOf)); //0
4. int i2 = s.LastIndexOfAny(anyOf)); //3
同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。
------------------------------------------------------------------------------
string str = "liminandlxf";
//从str第0个字符起,查找8个字符,
//查找“and”在字符串STR中的位置[从第一个字符算起]注意:start+end不能大于str的长度
//即在str中从第0个字符开始取8个字符得到liminand,然后在这个里面查找and的开始位置
int Pos = str.IndexOf("and", 0,8); //返回5
Pos = str.IndexOf("and", 0, 7); //返回-1
MessageBox.Show(Pos.ToString());
--------------------------------------------------------------------------------
string str = "liminandlxf";
char[] anyof = { 'l', 'a', 'f' };
//查找anyof字符数组中的任意字符在str中第一次出现的位置
int pos = str.IndexOfAny(anyof); //返回0,第一个出现的是l
MessageBox.Show(pos.ToString());
int pos2 = str.LastIndexOfAny(anyof); //返回10,查找在anyof字符数组中的任意字符
//在字符串str中最后出现的位置
MessageBox.Show(pos2.ToString());
转载于:https://www.cnblogs.com/a-mumu/p/4740172.html
C# indexof和indexofany区别(转)相关推荐
- indexOf和lastIndexOf的区别
indexOf和lastIndexOf的概念 一:两者的概念 1.indexOf:报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置. 2.lastIndex ...
- JavaScript中的 inludes 和 indexOf 方法 | 判断字符串或数组中是否存在对应的元素| 相同点与不同点 | 代码详解
目录 JavaScript中的inludes和indexOf方法 1.数组中的includes和indexOf方法比较 1.1 函数返回值的不同 1.2 函数第二个参数--开始查找的位置 1.3 in ...
- JavaScript: indexOf 详解、实例与应用
JavaScript indexOf 返回 String 对象中第一次出现的子字符串的字符位置. JavaScript indexOf格式 strObj.indexOf(subString, ...
- C#编程(四十四)----------string和stringbuilder
System.String类 首先string类是静态的,System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便. 1.比较字符串 比较字符串是指按照字 ...
- c# string总结
1.string 是引用类型,其具有不可变性 我们一般认为的将内存分为五个区域.其中程序员常用的有三个,即栈.堆,静态存储区域. 其中值类型的值存储在栈中,如int类型,而引用类型的值存储在堆中. s ...
- C#字符串截取学习总结
C#几个经常用到的字符串截取 http://www.cnblogs.com/lykbk/archive/2012/06/28/lyk1232132.html 一. 1.取字符串的前i个字符 (1)st ...
- JavaScript一些常用 API整理汇总
JavaScript一些常用 API整理汇总 Array new Set() 数组去重 const arr = [3,4,4,5,4,6,5,7]; console.log(new Set(arr)) ...
- js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...
不知不觉上班一周辽-趁着大好周末,小编挣扎着从床上爬起来,决定对前端日常编程中常用到的一些方法做一个系统的整合. 有些人或许会觉得忘了百度就完事儿,no no no!这事儿小编真的亲践过好多次,百度一 ...
- doctrine find的对象转换成数组_「ES6基础」Array数组的新方法(上)
在日常工作中我们经常会与数组打交道,因此需要熟练掌握数组操作的相关方法,ES6中关于数组的操作,又给我们带来了哪些惊喜呢,Array数组操作又添加了哪些新方法? 本篇文章将从以下几个方面进行介绍: A ...
最新文章
- 用Python如何查快递?
- linux笔记 1-13-软件安装
- 0-1背包-分支限界
- 打印折痕方向(二叉树应用)
- War of Inazuma (Easy Version) 阅读理解-n维超立方体-二进制-longlong右移32位
- Android 广播机制以及用法详解 (转)
- dedecms--在后台增加会员添加
- linux新硬盘分区及格式化和挂载分区到目录的方法
- 10年资深面试官直言:80%人面试Java都会止步于此!
- java 接口类型_Java-从接口类型而不是类声明
- linux windows市场占有率,Windows 10市场份额罕见倒退:Win7也跌了 Linux暴增111%
- python教程视频全套下载-Python爬虫视频教程全集下载
- INS/GNSS组合导航(一)-绪论
- 电阻电路的等效变化(Ⅰ)
- 微信小程序开发之——婚礼邀请函-邀请函页面(4.3)
- 企业微信批量添加好友
- projece修改工期_project里工期如何更改为自然日
- 计算机网络自顶向下方法 第三章 运输层 3.6 拥塞控制原理
- Halcon形状模板匹配
- excel数字排序1后面是2而不是10
热门文章
- 谈谈document.ready和window.onload的区别
- Android ViewPager和Fragment实现顶部导航界面滑动效果
- 使用Python实现Hadoop MapReduce程序
- C语言实现:将一个字符串插入到另一个字符串的指定位置
- springmvc二十二:annotation-driven标签
- java:接口和抽象
- 前端一HTML:四: html标签
- 数据结构之图(2-2)【邻接多重表】适用于无向图
- 《C++面向对象高效编程(第2版)》——2.16 识别成员函数的目标对象
- hdu 杭电 1045 Fire Net