导航

  首先,先说说这两种查护照方式的基本特点。

  IndexOf()是查找某个字符首次出现的位置,查找顺序是从左到右。

  LastIndexOf()是查找某个字符最后出现的位置,查找顺序是从右到左。

  两者在查找时,字符串中字符下标都是从0开始,从左往右递增的。

  接下来我要说说,今天在解决开发时遇到的一个小问题时了解到的一个小知识。

  直接说结论:当查找的字符串带 “ . ” 时,在确定要查找的字符后,若与substring配合使用,在截取文件名时,使用IndexOf会将 “ . ”后的字符包括后缀名一并截取。 而使用LastIndexOf()时,会自动忽略“ . ”后的字符。

  示例:对文件名str进行操作(注意是文件名,从文件名称提取出的文件名,不是字符串,以下是为了方便才这样写的)  

string str = “Test_V1.1.txt”;
string output1 = Substring(str.IndexOf("V"));//截取第一个V后面的字符
string output2 = Substring(str.LastIndexOf("V"));//截取最后一个V后面的字符

  结果:

  output1为V1.1.txt

  output2为V1

  这个细微的差别在有时候还是要多注意,不然也会造成一些小烦恼。。。