Получить значение из текста

255
07 апреля 2017, 20:21

Есть текст "myserver.com/?download_file=41&wccc_key_email=email&key=key" Как получить из всего этого только значение после "/?download_file" ? В моем случае это 41.

Answer 1

Можно использовать регулярные выражения.

Это, например, я писал для поиска домена, включая поддомены в ссылках:

"(\w+[-]*\w*[.])+(\w+)"

А такое найдёт слеш и все соединяющие "&":

"[\/&]"

Ну а так можно будет получить всё, включая домен любой глубины до знака вопроса (не включительно):

"(\w+[-]*\w*[.])+(\w+)[^?]+"

Кстати, регулярные выражения возвращают не только найденные строки, но и стартовый и конечный индекс найденного относительно исходной строки. Думаю, это будет вам полезно.

Answer 2

Должно работать что-то такое:

var uriString = "http://myserver.com/?download_file=41&wccc_key_email=email&key=key";
var query = new Uri(uriString).Query;
var collection = HttpUtility.ParseQueryString(query);
var downloadFileValue = collection["download_file"]; // null если не найдено
Console.WriteLine(downloadFileValue ?? "нет такого значения");

Вам понадобится подключить System.Web.

READ ALSO
Как получить имя того, кто запустил процесс? C#

Как получить имя того, кто запустил процесс? C#

В диспетчере задач есть такой столбец "Пользователь" где пишется от кого запущен, админ или пользв, как вывести это? Пока что я смог только...

453
Как сдвинуть текст? Listview OwnerDraw

Как сдвинуть текст? Listview OwnerDraw

Добавил иконки, но как теперь сдвинуть текст? Чтобы стало нормальноДобавление иконки:

240
Поиск подходящего компонента в WinForms (С#)

Поиск подходящего компонента в WinForms (С#)

ЗдравствуйтеУ меня такой вопрос: каким образом в C# WinForms можно реализовать компонент разворачивающегося текстового поля

293
Visual Studio Deploy Web API IIS

Visual Studio Deploy Web API IIS

Добрый деньСоздал web API 2 по примеру

197