程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#中從URL中獲取路徑的簡單方法:new Uri(url).AbsolutePath

C#中從URL中獲取路徑的簡單方法:new Uri(url).AbsolutePath

編輯:關於C#

今天在寫代碼時遇到這樣一個問題:

如何從字符串 "http://job.cnblogs.com/images/job_logo.gif" 中得到 "/images/job_logo.gif"?

對這個問題的解決方法的要求是:

1. 只能調用 .NET 類庫中的 API;

2. 用最簡單的方法實現。

開始我想到的是 System.IO.Path,代碼如下:

Path.GetDirectoryName(url) + "\\" + Path.GetFileName(url);

得到的是錯誤的結果:

http:\job.cnblogs.com\images\job_logo.gif

接著想到的是 System.Web.VirtualPathUtility,代碼如下:

VirtualPathUtility.GetDirectory(url) + VirtualPathUtility.GetFileName(url);

運行報錯:

System.ArgumentException : The relative virtual path 'http:/job.cnblogs.com/images/job_logo.gif' is not allowed here.

要將 "http://job.cnblogs.com/images/job_logo.gif" 改為 "/images/job_logo.gif" 才能得到正確的結果。

後來,在 stackoverflow 上受到啟發, 用 System.Uri 輕松搞定!代碼如下:

new Uri(url).AbsolutePath;

本文URL地址:http://www.bianceng.cn/Programming/csharp/201410/45477.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved