C#从字符串中删除URL

C#从字符串中删除URL,c#,string,C#,String,这看起来很简单,但我尝试的一切似乎都不起作用 假设我有以下字符串: string myString = "http://www.mysite.com/folder/file.jpg"; 我如何处理这个问题来删除URL并将“file.jpg”作为字符串值 谢谢 克里斯你可以随时使用方法 如果您确实想处理更复杂的URI,可以将其传递给类型并获取绝对路径 string myString = "http://www.mysite.com/folder/file.jpg?test=1"; Uri uri

这看起来很简单,但我尝试的一切似乎都不起作用

假设我有以下字符串:

string myString = "http://www.mysite.com/folder/file.jpg";
我如何处理这个问题来删除URL并将“file.jpg”作为字符串值

谢谢

克里斯

你可以随时使用方法

如果您确实想处理更复杂的URI,可以将其传递给类型并获取绝对路径

string myString = "http://www.mysite.com/folder/file.jpg?test=1";
Uri uri = new Uri(myString);
string file = Path.GetFileName(uri.AbsolutePath);

例如,
http://example.com/test.php?key=val
?或
http://example.com/test.htm#section1
?这是我最喜欢的黑客之一:)一直使用它来解析网络ID。请注意,
Path.GetFileName
使用的分隔符依赖于平台,因此不能保证在每个可能的平台上,
/
都会在该集中。(尽管如此,我不知道有哪个.NET运行的平台不包含
/
)同时,也不能保证
/
是URI的正确删除字符。依赖于平台的路径应该得到正确的斜杠(注意,它同时支持
/
和``)。。。至少在Microsoft版本中是这样。@Matthew:RFC2396指定URI中的路径段总是由
/
分隔(此外,如果RFC说使用
/
…这不意味着
path.GetFileName(…)
的所有版本都将处理
//code>)
string myString = "http://www.mysite.com/folder/file.jpg";
string fileName = Path.GetFileName(myString); // file.jpg
string myString = "http://www.mysite.com/folder/file.jpg?test=1";
Uri uri = new Uri(myString);
string file = Path.GetFileName(uri.AbsolutePath);