R: substituting only whole statements (not parts of them)
I believe it will help if you add the exact regex anchors to the pattern you are trying to match. In your case adding "^I like football$" as the pattern you are trying to match will look for strings starting and ending exactly like that. That way you have:   

&gt;grepl("^I like football$", "I like football, W Lazio")
[1] FALSE


This will eliminate at least the problem you are facing now.
 I am not sure if I understand the rest of the question though...as I get it, you have some other character vector called text for example, and inside you are trying to look for elements of the vector pattern and, if matched, replace them with the corresponding vector element from replacement right?