假设我的网址为http://google.com/index.php?first=asd&second=mnb&third=lkj
如何使用c#?
获得第二个值(mnb
)
答案 0 :(得分:1)
您可以使用ParseQueryString
课程中的System.Web.HttpUtility
方法。
Uri targetUri = new Uri("http://google.com/index.php?first=asd&second=mnb&third=lkj");
string first= HttpUtility.ParseQueryString(targetUri.Query).Get("first");
string second= HttpUtility.ParseQueryString(targetUri.Query).Get("second");
在此处查找更多内容:https://msdn.microsoft.com/en-us/library/ms150046.aspx
答案 1 :(得分:0)
对于简单的字符串解析,您可以使用扩展方法:
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var value = "url".Between("second=", "&third");
}
}
public static class Ext
{
static string Between(this string source, string left, string right)
{
return Regex.Match(
source,
string.Format("{0}(.*){1}", left, right))
.Groups[1].Value;
}
}
但是,评论中建议的URL解析方法几乎可以肯定。
答案 2 :(得分:0)
试试这个:
String URL = "http://google.com/index.php?first=asd&second=mnb&third=lkj";
UriBuilder UrlThing = new UriBuilder(URL);
System.Collections.Specialized.NameValueCollection Args = HttpUtility.ParseQueryString(UrlThing.Query);
String Second = Args["Second"];