Существует ли эффективная функция поиска по всему слову в Delphi?
В Delphi 2009 или более поздней версии (Unicode) есть ли какие-либо встроенные функции или небольшие подпрограммы, написанные где-нибудь, которые будут выполнять достаточно эффективный поиск по всему слову, где вы предоставляете разделители, которые определяют слово, например:
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;
где:
Word: string; { is the Unicode string to search for }
Str: string; { is the Unicode string to be searched }
Мне нужно только это, чтобы вернуть истинное или ложное значение, если "Слово" находится в строке.
Где-то должно быть что-то для этого, потому что стандартный диалог поиска "Совпадение всего слова " как один из нихВарианты.
Как это обычно (или лучше) реализовано?
Заключение:
RRUZ»Ответ был идеальным. Процедура SearchBuf была именно тем, что мне было нужно. Я даже могу войти в подпрограмму StrUtils, извлечь код и изменить его в соответствии со своими требованиями.
Я был удивлен, обнаружив, что SearchBuf неСначала найдите слово, а затем проверьте разделители. Вместо этого он просматривает символы строки по одному в поисках разделителя. Если он находит один, он проверяет строку и другой разделитель. Если это не такне найти его, затем он ищет другой разделитель. Для эффективностиради этогоочень умный!