C#分析URL參數(shù)并獲取參數(shù)和值對應列表的方法
更新時間:2015年03月27日 10:11:32 作者:feige
這篇文章主要介紹了C#分析URL參數(shù)獲取參數(shù)和值對應列表的方法,涉及C#進行URL分析及正則表達式的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#分析URL參數(shù)獲取參數(shù)和值對應列表的方法。分享給大家供大家參考。具體分析如下:
這個C#函數(shù)用于分析url中傳遞的所有參數(shù),輸出一個參數(shù)名和參數(shù)值對應的NameValueCollection列表,經(jīng)常能用得到
/// <summary>
/// 分析 url 字符串中的參數(shù)信息
/// </summary>
/// <param name="url">輸入的 URL</param>
/// <param name="baseUrl">輸出 URL 的基礎部分</param>
/// <param name="nvc">輸出分析后得到的 (參數(shù)名,參數(shù)值) 的集合</param>
public static void ParseUrl(string url, out string baseUrl, out NameValueCollection nvc)
{
if (url == null)
throw new ArgumentNullException("url");
nvc = new NameValueCollection();
baseUrl = "";
if (url == "")
return;
int questionMarkIndex = url.IndexOf('?');
if (questionMarkIndex == -1)
{
baseUrl = url;
return;
}
baseUrl = url.Substring(0, questionMarkIndex);
if (questionMarkIndex == url.Length - 1)
return;
string ps = url.Substring(questionMarkIndex + 1);
// 開始分析參數(shù)對
Regex re = new Regex(@"(^|&)?(\w+)=([^&]+)(&|$)?",RegexOptions.Compiled);
MatchCollection mc = re.Matches(ps);
foreach (Match m in mc)
{
nvc.Add(m.Result("$2").ToLower(), m.Result("$3"));
}
}
希望本文所述對大家的C#程序設計有所幫助。
相關文章
C#執(zhí)行表達式樹(Expression Tree)的具體使用
本文將深入探討表達式樹的基本概念、創(chuàng)建方法、修改和刪除節(jié)點、查詢和遍歷技巧以及在C#中的應用示例,具有一定的參考價值,感興趣的可以了解一下2024-03-03

