一、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(); } } }
运行结果: