我有这种从字符串 URI 中获取文件名的方法。我该怎么做才能使它更健壮?
private string GetFileName(string hrefLink)
{
string[] parts = hrefLink.Split('/');
string fileName = "";
if (parts.Length > 0)
fileName = parts[parts.Length - 1];
else
fileName = hrefLink;
return fileName;
}
最佳答案
您可以创建一个 System.Uri 对象,并使用 IsFile 来验证它是一个文件,然后使用 Uri.LocalPath 来提取文件名。
这更安全,因为它也为您提供了一种检查 URI 有效性的方法。
编辑以回应评论:
要获得完整的文件名,我会使用:
Uri uri = new Uri(hreflink);
if (uri.IsFile) {
string filename = System.IO.Path.GetFileName(uri.LocalPath);
}
这会为您完成所有错误检查,并且与平台无关。所有特殊情况都可以快速轻松地为您处理。
关于c# - 从C#中的URI字符串获取文件名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1105593/