62,052
社区成员
发帖
与我相关
我的任务
分享
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string url = "htttp://www.lxg.com/index.aspx?a=1&b=2&c=3&a=1&b=2&d=4";
Response.Write(dealUrlString(url));
}
}
public string dealUrlString(string url)
{
string prefix = url.Substring(0, url.IndexOf('?')); // url前导串
string nextfix = url.Substring(url.IndexOf('?') + 1); //url后置串
string[] strs = nextfix.Split('&');
ArrayList al = new ArrayList();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < strs.Length; i++)
{
if (al.Contains(strs[i]) == false)//判断 要拆分的字符串 中是否已经存在于这个arraylist中
{
al.Add(strs[i]);//不存在则添加进arraylist
al.Add("&");
sb.Append(strs[i]);//不存在则添加进sb中
sb.Append("&");
}
else
{
al.Remove(strs[i]);//存在则从arraylist中删除
}
}
return prefix + "?" + sb.Replace("&", "", sb.Length - 1, 1);
}
string url = "htttp://www.lxg.com/index.aspx?a=1&b=2&c=3&a=1&b=2&d=4";
Uri uri = new Uri(url);
System.Collections.Specialized.NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(uri.Query);
StringBuilder sb = new StringBuilder();
foreach (string s in nvc)
sb.AppendFormat("{0}={1}&", s, nvc[s].Split(',')[0]);
string result = url.Replace(uri.Query, "?" + sb.ToString().TrimEnd('&'));
Console.WriteLine(result);