Страница 1 из 1
поиск в строке по частичному совпадению
Добавлено: 22 сен 2021, 10:30
Espada
Доброго дня. Такой вопрос, существует ли возможность частичного поиска в строке? ф-я InStr, работает только если полное совпадение. а у меня проблема, что в переменной строка из нескольких слов, и нужно что бы искало хотя бы по паре из них... спасибо.
Re: поиск в строке по частичному совпадению
Добавлено: 22 сен 2021, 11:38
Irina_
Здравствуйте.
Instr – ф-ция нахождения подстроки.
Если в Вашем случае строка из нескольких слов, и нужен поиск одновременно по двум подстрокам, то используйте ф-цию 2 раза:
If ( Instr(str1,str) > 0 ) and ( Instr(str2,str) > 0 )
{
...
}
где str – исходная строка, str1 и str2 - две подстроки, наличие которых надо проверить.
Re: поиск в строке по частичному совпадению
Добавлено: 22 сен 2021, 11:43
Espada
Irina_ писал(а):где str – исходная строка, str1 и str2 - две подстроки, наличие которых надо проверить.
хмм, т.е. разделить строку, которую надо найти, на слова, записать их в переменные, и искать по ним... Идея интересная, буду пробовать, спасибо)
Re: поиск в строке по частичному совпадению
Добавлено: 30 сен 2021, 09:50
KVS
Если нужно просто проверить наличие подстрок в строке (проверка строки по регулярному выражению), то может помочь:
Код: Выделить всё
Function VIPRegExpr ( ARegExpr : String, AInputStr : String) : Boolean; external 'WordLib.dll';
Код: Выделить всё
Function VIPRegExpr ('несколько\s*слов\s*через.*пробелы', 'несколько слов через еще строка пробелы') = true
, где \s* от 0 до бесконечности количество пробелов, .* от нуля до бесконечности любых символов