Not to make you feel persecuted...
What, exactly, are you trying to do? Pretend you're paying a monk a to write the code for you, but you're only allowed to talk to the monk once, and you don't get paid unless the program does what you want. The monk always gets paid, and gets paid a lot extra if you want to change something later.
Aside, what do you consider "huge"? Why are you doing all those substitutions? How many "hits" would you expect in your dataset? On 0.1% of records or 75%?
Information about American English usage here and here. Floating point issues? Please read this before posting. — emc