2017-02-16 105 views
0

我奋力从跟随着得到阵列式查询字符串

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 

我试图获取存储在filter[filters][0][value]

John Doe值提取值是一个简单的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

感谢您的帮助和努力:) –