获取文件名和扩展名,并使用子字符串删除查询字符串
本文关键字:字符串 删除 查询 文件名 扩展名 获取 | 更新日期: 2023-09-27 18:17:54
大家好,
我有几个图像url从我下载的数据,并将其保存在数据库。我使用(imageurl.Split('/'))[(imageurl.Split('/').Length) - 1];
来创建文件名。
问题是,有一些url包含查询字符串。由于我得到的文件名有模式imgname.img_type_extension?somefield=somevalue
我怎么能得到filename。扩展离开查询字符串从上面的子字符串??
var path = imageurl.Split('?')[0];
var fileName = Path.GetFileNameWithoutExtension(path);
编辑:使用Path
var path = imageurl.Split('?')[0];
var fileName = Path.GetFileName(path);
为什么不让UriBuilder为您做解析呢?
var url = new UriBuilder("http://x.com/xyz/imgname.img_type_extension?somefield=somevalue");
string filename = Path.GetFileName(url.Path);
var fNameWithQuery = (imageurl.Split('/'))[(imageurl.Split('/').Length) - 1];
//get first string from array created by splitting substring on occurence of '?'
var fNameAndExt = fNameWithQuery.Split('?')[0];
也许是这个?
string imgUrl = @"C:'blah.jpg"; //Loaded from DB
System.IO.FileInfo f = new System.IO.FileInfo(imgUrl);
string fileName = f.Name.Split('.')[0];