2017-02-16 7 views
0

Я борюсь извлечения значений из followinполучает массив типа строки запроса из списка параметров URL C#

https://hlapservice0i/Web/api/Purchaselist/Creditor? 
filter[logic]=and& 
filter[filters][0][value]=John Doe & 
filter[filters][0][field]=customFilter& 
filter[filters][0][operator]=contains& 
filter[filters][0][ignoreCase]=true 

Я пытаюсь получить, что John Doe значение, хранящееся в filter[filters][0][value]

Это простой MVC контроллер.

+0

Вы хотите, чтобы разобрать эту строку и получить только фильтр [фильтры] [0] значение [значение]? – DarkKnight

+0

попробуйте ['Split'] (https://msdn.microsoft.com/en-us/library/b873y76a (v = vs.110) .aspx) строка после [' IndexOf'] (https: // msdn. microsoft.com/en-us/library/kwb0bwyd (v = vs.110) .aspx) ('?') на '' & '', а затем результирующие элементы в' '='' для разделения значений от ключей – slawekwin

+0

@ DarkKnight Да, это единственное значение, которое мне нужно. –

ответ

1

Вы могли бы сделать, как это ..

Live Demo here

var match = Regex.Match(input,@"(?<=filter\[filters\]\[0\]\[value\]=).*?(?=&)"); 

match.Value будет иметь значение после того, как вы, который John Doe

Разъяснение:

?<= силы матча в начать после первого появления o f filter[filters][0][value]. матч

?= силы закончить до следующего символа, который, в данном случае, &

+1

Спасибо за вашу помощь и усилие :) –