It won't be done in google (or any other search engine) as such. What you need to do is set up redirects yourself, so all the old hashbang URLs get redirected to the equivalent new URL. Then they will eventually fall out of the index.
There are a few threads in the Apache subforum about redirecting #! though I can't remember it coming up within the last year or so. There are obviously special considerations because normally a # is handled by the browser and isn't even seen by the server.
:: vague notion that #! is actually just an indexing convention used by google as a stand-in for something entirely different ::
:: wandering off to refresh memory ::
Here we go:
[
webmasterworld.com...]
Not much discussion in the thread itself, but it looks like the most recent time I dug up links to earlier threads.
That's all assuming Apache, of course. The wording will be slightly different on That Other Server.
The important part is to figure out what "real" URLs are lurking behind the hashbangs. You can do this either by poring over your access logs, or with a browser add-on like Firefox's Live Headers. Now, unless you have only a few URLs (say, less than 10), next step is to work out the relationship between hashbang URL and "real" URL-- in particular, the query string. You won't be redirecting the hashbang; you'll be redirecting the "real", underlying URL. The question is whether you'll make a short list of individual redirects, or a series of rules involving captures and Regular Expressions.