我有一个字符串
"\uploads\test1\test2.file"
获得“test2.file”的方法是什么?
我的想法是获取“\”的最后一个索引然后执行string.substring(“\”的最后一个索引)命令吗?
是否有一种方法只接受最后一个“\”之后的单词?
答案 0 :(得分:5)
在Path.GetFileName(path);
命名空间中使用方法System.IO
,它比执行字符串操作更优雅。
答案 1 :(得分:4)
您可以使用LINQ:
var path = @"\uploads\test1\test2.file";
var file = path.Split('\\').Last();
如果您担心路径可能是null
或其他原因,您可能需要验证输入。
答案 2 :(得分:2)
你可以这样做:
string path = "c:\\inetpub\\wwwrroot\\images\\pdf\\admission.pdf";
string folder = path.Substring(0,path.LastIndexOf(("\\")));
// this should be "c:\inetpub\wwwrroot\images\pdf"
var fileName = path.Substring(path.LastIndexOf(("\\"))+1);
// this should be admin.pdf
有关详情,请查看此处How do I get the last part of this filepath?
希望它有所帮助!
答案 3 :(得分:0)
您可以使用Split方法:
string myString = "\uploads\test1\test2.file";
string[] words = myString.Split("\");
//And take the last element:
var file = words[words.lenght-1];
答案 4 :(得分:0)
使用linq:
"\uploads\test1\test2.file".Split('\\').Last();
或者你可以在没有linq的情况下完成:
string[] parts = "\uploads\test1\test2.file".Split('\\');
last_part=parts[parts.length-1]