【问题标题】:Start and stop parsing of a string开始和停止解析字符串
【发布时间】:2013-11-12 17:12:24
【问题描述】:

我抓取一个 url,我想解析和存储 url 的两个部分

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 应该能够在这里帮助我..hmm

【问题讨论】:

    标签: c#-4.0


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 2020-09-06
      相关资源
      最近更新 更多