String.Contains is good for exact matches, but it doesn't work too well for more complex things. You could do it by surrounding your word with spaces:
If(str.contains(string.Format(" {0} ", array[i]))==true)
But that will fail when you get punctuation.
Have you considered a Regex?