Do you need URL-decoding on the parameters? If so, you'll have to apply it.
This seems like a basic problem in decomposition or factoring.
Break it down into smaller sub-problems, until you have solvable sub-problems. It's fundamental to programming, or almost any other engineering or technical problem-solving field:
http://en.wikipedia.org/wiki/Decomposition_(computer_science)
You could start by creating an NSURL, then calling its query method. That should return the "a=1&b=2&c=3" part. You've now separated the part you want from the part you don't care about.
Or you could find the first "?" in the URL string and take everything after that point. There are no unescaped ?'s in a URL, so you shouldn't have to worry about that. Again, this is simply identifying and separating the part you want from the part you don't care about.
With the NSString containing "a=1&b=2&c=3", you can use NSString's componentsSeparatedByCharactersInSet method, with a character-set containing only the '&'. This will get you an NSArray of NSStrings, each one being a "a=1", "b=2", etc. Decomposition again.
For each string in the array, split it at the '=' into a name and a value. More decomposition.
For each split string, you could use the first part as a dictionary key, the second part as a dictionary value, and add them to a dictionary. Then you can repeatedly find values by their name (key) without having to repeat the decompositions.
If that's not malleable enough, then you'll have to describe what kind of malleability you want. No one has any way to guess your specifications. You have to specify them.