Existe uma função de pesquisa de palavras inteiras eficiente em Delphi?

No Delphi 2009 ou posterior (Unicode), existem funções internas ou pequenas rotinas escritas em algum lugar que farão uma pesquisa de palavras inteiras razoavelmente eficiente, onde você fornece os delimitadores que definem a palavra, por exemplo:

function ContainsWord(Word, Str: string): boolean;

const  { Delim holds the delimiters that are on either side of the word }
  Delim = ' .;,:(){}"/\<>!?[]'#$91#$92#$93#$94'-+*='#$A0#$84;

Onde:

Word: string;  { is the Unicode string to search for }
Str: string;   { is the Unicode string to be searched }

Eu só preciso disso para retornar um valor verdadeiro ou falso se o "Word" estiver na string.

Deve haver algo para isso em algum lugar, porque o Diálogo de Pesquisa padrão tem "Corresponder apenas a palavra inteira" como uma de suas opções.

Como isso é normalmente (ou melhor) implementado?

Conclusão:

A resposta da RRUZ foi perfeita. A rotina do SearchBuf era exatamente o que eu precisava. Eu posso até entrar na rotina StrUtils, extrair o código e modificá-lo para atender aos meus requisitos.

Fiquei surpreso ao descobrir que o SearchBuf não procura primeiro a palavra e, em seguida, verifica os delimitadores. Em vez disso, ele percorre os caracteres da string, um de cada vez, procurando um delimitador. Se encontrar um, ele verifica a string e outro delimitador. Se não encontrá-lo, ele procura outro delimitador. Pelo bem da eficiência, isso é muito inteligente!

questionAnswers(4)

yourAnswerToTheQuestion