C# 中indexOf、lastIndexOf、subString方法的理解

一、indexOf()

indexOf("\"):返回"\"字符在此实例中第一个出现的索引位置,实例的下标是从0开始,如果未找到则返回-1.

indexOf("\", 7):返回在此实例中从下标7开始的,第一次出现"\"的位置,如果未找到返回-1.

二、lastIndexOf()

lastIndexOf("\"):返回"\"在此实例中最后一个出现的索引位置。即从右向左搜索,第一次出现的"\"的位置,如果未找到则返回-1.

lastIndexOf("\", 7):返回在此实例中从下标0开始到下标7结束的这一段子串中,最后一次出现"\"的位置 。即从右向左搜索,第一次出现的"/"的位置,如果未找到则返回-1.

三、subString()

Substring:截取字符串。Substring(7,2)表示从下标7开始,截取长度为2的字符串,Substring(7)表示从下标7开始,一直截取到字符串末尾。

PS:indexOf和lastIndexOf的区别就搜索的方向不一样,indexOf是从左向右,lastIndexOf是从右向左,尽管搜索方向不一样,但是字符下标依然从左向右加1,从0开始。

四、例子:

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string FilePath = "D:\files\small.txt";
            Console.WriteLine(FilePath);

            int a= FilePath.IndexOf("f");
            Console.WriteLine(a);

            int b = FilePath.IndexOf("s",3);
            Console.WriteLine(b);

            int c = FilePath.LastIndexOf("x");
            Console.WriteLine(c);

            int d = FilePath.LastIndexOf("s",15);
            Console.WriteLine(d);

            string e = FilePath.Substring(7,2);
            Console.WriteLine(e);

            string f = FilePath.Substring(7);
            Console.WriteLine(f);

            int index = FilePath.LastIndexOf('\');
            Console.WriteLine(index);
            string folder = FilePath.Substring(0, index);
            Console.WriteLine(folder);
            string ShapeName = FilePath.Substring(index + 1);
            Console.WriteLine(ShapeName);

            Console.ReadKey();
        }
    }
}

运行结果:

原文地址:https://www.cnblogs.com/wodewei/p/11573805.html