You probably could do it with just the text using find(), but since you want to remove words once they are found it could get slow to replace stuff. We want to do it in a reasonably efficient way. Like dop said, it's useful to first parse the words out of the text and add them into a dictionary. You can even store the number of times each word occurs in the dictionary.
1. parse the text to get all the words. Each word and the number of times that word is seen is added to a dictionary. This can be done over multiple frames.
2. Random letters are typed. We only need to keep track of no more than the length of the longest word in characters.
3. Then just use right(keys, 1), right(keys, 2), right(keys, 3), ...etc. to get a possible word and see if it's in a dictionary.
dropbox.com/s/cq7yq79mpe8w6n8/monkey_type.capx
Seems words longer than four letters long are seldom found, but that lines up with the probability.