我想从特殊点进行子串。
abcdef.png
我想要
.PNG
我试过
string str = "abcdef.png";
str = str.Substring(0, str.Length - 4);
然后只显示abcdef但是我想要.png部分
答案 0 :(得分:8)
只需使用overload which takes a single parameter - 起点:
str = str.Substring(str.Length - 4);
或者更好,使用方法设计来获取文件名的扩展名 - Path.GetExtension
:
string extension = Path.GetExtension(str);
答案 1 :(得分:2)
您似乎正在处理文件名,为此目的使用Path.GetExtension方法。
答案 2 :(得分:2)
您可以使用Path.GetExtension
方法代替子字符串。
string str = "abcdef.png";
string ext = Path.GetExtension(str); // .png
答案 3 :(得分:1)
您需要传递str.Length - 4
作为第一个(也是唯一的)参数,而不是第二个参数:
str = str.Substring(str.Length - 4);
你的代码拥有它的方式,你有一个从零开始的子字符串,并包含str.Length - 4
个字符。
如果您只想拍摄点和扩展名,请使用
str = str.Substring(str.LastIndexOf('.'));
表达。
答案 4 :(得分:1)
如果您想要扩展名称,请使用Path.GetExtension(str)
。更容易。
http://msdn.microsoft.com/en-us/library/system.io.path.getextension(v=vs.110).aspx
答案 5 :(得分:1)
尝试下面的代码,它将返回文件的扩展名。
string extension = Path.GetExtension(str);