今日之自学笔记
浅谈在C#中字串相关的查找方法有IndexOf、LastlndexOf
IndexOf : 指定字串在原字串中第一次出现的位置
LastlndexOf : 指定字串在查找的字串中最後一次出现的位置
如果要判断字串中是否只含有一个指定的字串,则需要将IndexOf 和LastlndexOf 方法一起使用
void Main()
{
string str = Console.ReadLine();
if(str.IndexOf("@")!= -1)//只要指定的字串在查找的字串中不存在 结果都是-1
{
Console.WriteLine("@的位置在{0}",str.IndexOf("@") +1 );
//字串位置电脑从0开始数 所以要+1 ,让我们从1开始算
}
else
{
Console.WriteLine("里面不包含@");//如果里面没有此字串就列印出"里面不包含@"
}
}
正确结果如下
我输入一串字串为 ABCD@FG
我们从1开始算 所以应该是在第5个位置
我们先用IndexOf 方法查找第一个@
判断他出现的位置和用LastlndexOf 方法查找@ 在字串中最後一次出现的位置是否相同
void Main()
{
string str = Console.ReadLine();
int firstIndex = str.IndexOf("@");
int lastIndex = str.LastIndexOf("@");
if (firstIndex != -1) //先做第一步判断是否str内有包含@如果有 进行下一个判断
{
if (firstIndex == lastIndex)//如果只含有一个@
{
Console.WriteLine("在您输入的字串中只含有一个@");
}
else //反之就跳出以下讯息
{
Console.WriteLine("在您输入的字串中含有多个@");
}
}
else
{
Console.WriteLine("在您输入的字串中并不包含@");
}
}
结果如下 我输入了三个@
PS : IndexOf、LastIndexOf都是返回一个位置,是个整数值;找不到都返回-1;
IndexOf是从左向右查,LastIndexOf是从右向左查,
不管是IndexOf还是LastIndexOf,索引序列都是从左到右的(起始值是0)
简易介绍一下这两个用法
更详细可以参考这篇来源
[C#]String常用技巧整理(IndexOf、LastIndexOf、Substring、Split)
以及官网
String.IndexOf 方法
<<: 如何在 Android 和 iOS 设备上启用 YouTube 後台播放(不用下载)-2022
>>: ISO 27001 资讯安全管理系统 【解析】(十八)
上一回提到广度优先搜寻的步骤是检查图中节点,并将与其相连的节点放入伫列中,再一一检查。 光是这样的文...
AWS Certified Solution Architect Associate之旅的第一站,我...
踏入区块链一年多,回想起参加过的线下聚会、线上课程,都让我觉得很充实。 虽然觉得区块链是一个当前有点...
第二十八天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,...
新增翻页按钮 browser 画面下方的工具列其实还蛮空旷的,应该可以多塞点功能进来。与其用手势滑动...