字符串的IndexOf()
IndexOf() 方法是返回某个指定的字符串值在字符串中首次出现的位置。切记是首次出现的位置。IndexOf(“string”,0)这个方法有两个参数,分别是要检索的字符串以及将从指定的位置开始检索。
下面是一个案例的代码:
需求是截取时间的天数,如果获取是小时就返回0天,否则就截取天数。
string Times = Convert.ToString(Convert.ToDateTime(StrTimes) - Convert.ToDateTime(DateTime.Now.ToString()));
int ZhangDu = (int)Times.IndexOf(’.’);
if (ZhangDu == -1)
{
StrTimes = “0” + “天”;
}
else
{
string[] StrSplitTimes = Times.Split(new char[3] { ‘-’, ‘.’, ‘:’ });
StrTimes = StrSplitTimes[1] + “天”;
}
下面图一是断点查看:
使用IndexOf(’.’)查找里面有没有小数点,有小数点就是天数,则返回小数点的位置,索引从0开始;没有的就是小时,则返回-1。
下面图二是返回的结果:
现在获取到的是小时,返回的是“-1”,所以直接返回0天。
然后我们再测试多一条数据,下图三是获取到的是有小数点的:
下图四查找到小数点返回位置‘2’,直接截取1出来。
IndexOf() 方法的注意要点:1、如果要检索的字符串值没有出现,则该方法返回 -1。
2、IndexOf() 方法对大小写敏感。