C#笔记-02:有关字符串中查找字符两种方式————IndexOf和LastIndexOf的细微区别
Posted on 2020-10-12 22:41 ErgoCogito 阅读(753) 评论(0) 编辑 收藏 举报首先,先说说这两种查护照方式的基本特点。
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
这个细微的差别在有时候还是要多注意,不然也会造成一些小烦恼。。。