我在。net中有一个字符串,实际上是一个URL。我想要一种简单的方法从特定的参数中获取值。
通常,我只使用Request。Params["theThingIWant"],但是这个字符串不是来自请求。我可以像这样创建一个新的Uri项:
Uri myUri = new Uri(TheStringUrlIWantMyValueFrom);
我可以使用myUri。查询以获取查询字符串…但显然我得找个雷克斯风的方法把它分开。
我是否遗漏了一些明显的东西,或者是否没有内置的方法来创建某种类型的正则表达式,等等?
看起来您应该遍历myUri的值。从那里查询并解析它。
string desiredValue;
foreach(string item in myUri.Query.Split('&'))
{
string[] parts = item.Replace("?", "").Split('=');
if(parts[0] == "desiredKey")
{
desiredValue = parts[1];
break;
}
}
然而,如果没有在一堆畸形的url上测试它,我不会使用这段代码。它可能会在以下一些/所有地方崩溃:
hello.html吗?
hello.html吗?valuelesskey
hello.html吗?键=值=你好
hello.html ?嗨=价值吗?与b = c
等