获取文件名和扩展名并使用子字符串删除查询字符串

Mil*_*war 2 c# substring

嘿伙计们,

我有几个图像网址,我从中下载数据并将其保存在数据库中。我用来(imageurl.Split('/'))[(imageurl.Split('/').Length) - 1];创建文件名。

问题是,有一些网址包含查询字符串。由于我得到的文件名有模式imgname.img_type_extension?somefield=somevalue

我怎样才能从上面的子字符串中获取 filename.extension 留下查询字符串?

感谢您过来...

adr*_*anm 6

为什么不让 UriBuilder 为您进行解析呢?

var url = new UriBuilder("http://x.com/xyz/imgname.img_type_extension?somefield=somevalue");
string filename = Path.GetFileName(url.Path);
Run Code Online (Sandbox Code Playgroud)


tch*_*kch 5

var path = imageurl.Split('?')[0];
var fileName = Path.GetFileNameWithoutExtension(path);
Run Code Online (Sandbox Code Playgroud)

编辑:对于带有扩展名的文件名,只需使用另一种方法Path

    var path = imageurl.Split('?')[0];
    var fileName = Path.GetFileName(path);
Run Code Online (Sandbox Code Playgroud)