Допустим, что у меня есть URL, как http://google.com/index.php?first=asd&second=mnb&third=lkj
Разбираем параметр внутри URL с помощью C#
Как я могу получить второе значение (mnb
) с помощью C#?
Допустим, что у меня есть URL, как http://google.com/index.php?first=asd&second=mnb&third=lkj
Разбираем параметр внутри URL с помощью C#
Как я могу получить второе значение (mnb
) с помощью C#?
Для простой строки синтаксического анализа можно использовать метод расширения:
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 разборе предложил в комментарии почти наверняка лучше.
Вы можете использовать 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
Попробуйте это:
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"];
Windows Forms или Web Forms? Поместите некоторый код. –
или asp.net ....? Каким бы ни был ответ, вы действительно должны просто Google что-то такое. Если у вас есть код, который не работает, вы должны показать его и объяснить, как он не работает. – tnw
Это приложение MVC? – Minh