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