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());
C# indexof和indexofany区别(转)的更多相关文章
- String中的Indexof,LastIndexOf, Indexofany,LastIndexOfAny 的区别
本文转载自 http://www.cnblogs.com/qinying/archive/2008/09/22/1295730.html 定位子串是指在一个字符串中寻找其中包含的子串或者某个字符.在S ...
- IndexOf、IndexOfAny 、Remove
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 几种String对象方法的区别
1.在String对象方法中,发现.slice()方法和.substring()方法的作用几乎相同,都是根据起始索引返回截取得到的字符串.经过查阅资料和实测得到区别: 正常情况下索引都为正值,返回值为 ...
- includes与indexOf
indexOf(a,b)是在es6之前常用的判断数组/字符串内元素是否存在的api,接收两个参数,第一个a代表要被查找的元素,必填.第二个代表从数组的某个坐标开始查找,可选 在数组中 通过indexO ...
- C#分割字符串
命名空间:System.String.Split 程序集:mscorlib( mscorlib.dll) 简单实例: string before = "12,50,30"; str ...
- string应用
今天在网上搜了一些资料. C# string类应用 判断是否包含子串 想要判断一个字符串中是否包含某个子串,可以用Contains方法来实现: ? public bool Contains (stri ...
- C# String字符串
C#(静态String类) C#中提供了比较全面的字符串处理方法,很多函数都进行了封装为我们的编程工作提供了很大的便利.System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字 ...
- C#编程(四十四)----------string和stringbuilder
System.String类 首先string类是静态的,System.String是最常用的字符串操作类,可以帮助开发者完成绝大部分的字符串操作功能,使用方便. 1.比较字符串 比较字符串是指按照字 ...
- Hadoop开发相关问题
总结自己在Hadoop开发中遇到的问题,主要在mapreduce代码执行方面.大部分来自日常代码执行错误的解决方法,还有一些是对Java.Hadoop剖析.对于问题,通过查询stackoverflow ...
随机推荐
- [剑指Offer]61-扑克牌中的顺子
题目 "红心A,黑桃3,小王,大王,方片5",大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13.上面的5张牌就可以变成"1,2,3,4,5" ...
- Linux下用户的创建与删除
我们在Linux下创建用户主要有两种方式:adduser和useradd,它们的区别以及主要用法如下: adduser adduser的用法很简单,只需adduser+username即可,如下: s ...
- CSS常用布局技巧 实例
末尾用省略号! white-space: nowrap; overflow: hidden; text-overflow: ellipsis; ######################## 两个i ...
- FreeSWITCH 处理Refer盲转时,UUI传递不对(没有将SIP 消息头Refer-To中的User-to-User传递给B-Leg)
运行环境: CentOS 7.6 FreeSWICH 1.6.18 一.问题场景: FreeSWITCH收到REFER命令后,重新发起的INVITE消息中的 "U ...
- redis入门指南(七)—— 安全、协议、管理工具及命令属性
写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 安全 1.可以使用bind参数绑定一个地址,使redis只接受这个地址的连接. 2.使用requ ...
- 原子类的 ABA 问题
原子引用 public class AtomicReferenceDemo { public static void main(String[] args) { User cuzz = new Use ...
- KONGA下的HAMC插件功能 --JAVA代码实现
设置HAMC插件 postman模拟请发发送: Java代码: HMAC-SHA-256工具类 1 import java.security.InvalidKeyException; 2 impor ...
- Flutter集成环信IM,发送图片之后渲染conversation.loadMoreMsgFromDB报path为空
这时会报错,结果如下: 只需在em_message_body下修改如图path为空即可
- BurpSuite抓取本地包方法
本文重点在介绍抓本地包, 而非介绍抓包步骤 Burpsuite配置 默认配置即可 Chrome 浏览器配置 Falcon Proxy扩展程序配置浏览器代理. 需要抓包的网页是个本地搭建的网址, 一般会 ...
- JUC 常用4大并发工具类
什么是JUC? JUC就是java.util.concurrent包,这个包俗称JUC,里面都是解决并发问题的一些东西 该包的位置位于java下面的rt.jar包下面 4大常用并发工具类: Count ...