启动和停止解析字符串

时间:2013-11-12 17:12:24

标签: c#-4.0

我抓住了一个网址,我想解析并存储网址的两个部分

User/Confirmation?=QVNERkFTREY=&code=MTAvMjMvMjAxMyAxMjowMDowMCBBTQ==

所以我想从(Confirmation?=)开始,然后停在(&)并存储结果

string = QVNERkFTREY

然后对于第二个我想从(&code=)开始并转到字符串的末尾并存储结果

string = MTAvMjMvMjAxMyAxMjowMDowMCBBTQ==

我曾尝试过几件不同的事情

Uri myUri = new Uri(Request.Url.AbsoluteUri);
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("Confirmation?=");
string param2 = myUri.Query.Split();

很确定我应该在这里采取不同的路线,但任何帮助都会受到赞赏。我现在要继续谷歌搜索。我很感激帮助。

编辑:我觉得LINQ应该能够帮助我......嗯

1 个答案:

答案 0 :(得分:2)

我会使用HttpUtility.ParseQueryString而不是尝试自己解析网址。

String val = "User/Confirmation?=QVNERkFTREY=&code=MTAvMjMvMjAxMyAxMjowMDowMCBBTQ==";
System.Collections.Specialized.NameValueCollection parameters = System.Web.HttpUtility.ParseQueryString(val);
Console.Out.WriteLine(parameters[0]);  // QVNERkFTREY=
Console.Out.WriteLine(parameters.Get("code"); // MTAvMjMvMjAxMyAxMjowMDowMCBBTQ==

您需要添加System.Web.dll,您可以在此处阅读:Cannot add System.Web.dll reference