On 20.11.2008, at 20:34 , Raju Alluri wrote:

> Hi,
> I have the following text as a string. Can someone tell me a way to
> extract the Args array in to different key value pairs as listed in  
> the
> example ?
>
> Request={Identities={ImmedCaller={Name=unknown,
> SubjectID=abcd1:sid:00000000-0000-0000-0000-000000000000}},
> Args=[{adpage=1, useragent=NORMAL, q=Digital Camera, adtest=off,
> searchalias=aps, mkt=us, ch=all-product-search, nodeList=, lang=en,
> adcount=a3b0c3, ip=110.155.15.777}], Service=WebSearchClientService,
> Metadata={GUID=0Q1C11GKER2MEDM5RQDY, Domain=prod,
> Host=woe-us-preprod-gp-5106.iad5.xyz.com, AppVersion=*,  
> UserName=nobody,
> ClientExit=/gp/search/construct-application-context.mi
> [retail]:.SECOND_PREPARE, ProcessID=23480, TTL=1.0, Sandbox=*,
> Priority=1.0, DeploymentID=70026525, EnvName=RetailWebsite/US,
> DepartureTimestamp=Mon Nov 10 17:30:58 GMT 2008, Realm=USXYz,
> AppName=gurupa, ClientEntry=/gp/search},
> Shared={sessionID=nNo5yA.xUpGCpgbhuaVn8zG2xXM_,
> clientID=168v1upXnQTYihGa9iDnty-o9z4_,
> sessionIDPlain=176-2496192-6342626, customerIDPlain=A2LOKEDOEV0ZP5,
> customerID=MHuB7vXfQZbKXH9-U7M7ZZfvy3Q_,
> clientIDPlain=189-5451931-2768662}, Method=WebSearch}
>
> eg:
> adpage=1
> useragent=NORMAL
> q=Digital Camera
> adtest=off
> mkt=us
> ch=all-product-search
> adcount=a3b0c3
>
>
> Thanks in Advance.
> Raju
> -- 
> Posted via http://www.ruby-forum.com/.
>


hash = {}
data.match(/Args=\[(\{[^}]*)/)[1].scan(/(\w+)=([^,]*)/) do |key, val|
	hash[key] = val
end

einarmagnus