KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
How to remove a query string by Key from a Url? I have the below method which works fine but just wondering is there any better/shorter way? or a built-in .NET method which can do it more efficiently? public static string RemoveQueryStringByKey(string url, string key) { var indexOfQuestionMark = url.IndexOf("?"); if (indexOfQuestionMark == -1) { return url; } var result = url.Substring(0, indexOfQuestionMark); var queryStrings = url.Substring(indexOfQuestionMark + 1); var queryStringParts = queryStrings.Split(new [] {'&'}); var isFirstAdded = false; for (int index = 0; index <queryStringParts.Length; index++) { var keyValue = queryStringParts[index].Split(new char[] { '=' }); if (keyValue[0] == key) { continue; } if (!isFirstAdded) { result += "?"; isFirstAdded = true; } else { result += "&"; } result += queryStringParts[index]; } return result; } For example I can call it like: Console.WriteLine(RemoveQueryStringByKey(@"http://www.domain.com/uk_pa/PostDetail.aspx?hello=hi&xpid=4578", "xpid")); Hope the question is clear. Thanks,
Tags (comma-separated)
Save Edits
Cancel