एक यूआरएल से कुंजी द्वारा क्वेरी स्ट्रिंग को कैसे निकालें?यूआरएल से कुंजी द्वारा क्वेरी स्ट्रिंग को कुशलता से कैसे हटाएं?
मेरे पास निम्न कार्य है जो ठीक काम करता है लेकिन बस सोच रहा है कि कोई बेहतर/छोटा तरीका है? या एक अंतर्निहित .NET विधि जो इसे अधिक कुशलता से कर सकती है?
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;
}
उदाहरण के लिए मुझे यह पसंद है कॉल कर सकते हैं:
Console.WriteLine(RemoveQueryStringByKey(@"http://www.domain.com/uk_pa/PostDetail.aspx?hello=hi&xpid=4578", "xpid"));
आशा है कि सवाल स्पष्ट है।
धन्यवाद,
की [यूआरएल क्वेरी स्ट्रिंग संभव डुप्लिकेट - खोजें, की जगह, जोड़ने के लिए, मूल्यों को अद्यतन करें?] (http://stackoverflow.com/questions/1163956/url-querystring-find-replace-add-update-values) –
टैग: 'reinventing-the-wheel' ['System.Web.HttpUtility.ParseQueryString'] –
न तो पूरा समाधान है और न ही प्रश्न पूछे गए उत्तर का जवाब देता है। –