lcFindMe = [fox] lcLookIn = [foxy lady scanfox] ? WordIn(lcFindMe, lcLookIn) lcLookIn = [foxy fox lady scanfox] ? WordIn(lcFindMe, lcLookIn) lcLookIn = [fox lady scanfox] ? WordIn(lcFindMe, lcLookIn) lcLookIn = [foxy lady scan fox] ? WordIn(lcFindMe, lcLookIn) function WordIn lParameters tcWordToFind, tcStringToLookIn local lcLookFor, llFoundOne llFoundOne = .f. lcLookFor = lower(tcWordToFind) if [ ] + lcLookFor + [ ] $ lower(tcStringToLookIn) or ; left(lower(tcStringToLookIn), len(lcLookFor + [ ])) == lcLookFor + [ ] or ; right(lower(tcStringToLookIn), len([ ] + lcLookFor)) == [ ] + lcLookFor llFoundOne = .t. endif return llFoundOne>I want to find certain words in a string. meaning the word can be at the beginning of the string followed by a space, at the end of the string preceeded by a space, or in the middle of the string both preceeded and followed by a space. I use VFP 6.0 SP5. How can I accomplish this without my current bunch of goobly gook code.