• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Сравнение текста

  • Автор темы SoFuWa
  • Дата начала
S

SoFuWa

Приветствую
Я в скрипте использую InStr(x,y) для сравнения строк текста, можно ли сделать так что бы проверка была по целому слову, например:
InStr(x,y)
x=Вышгородская ул.
y=Вышгород

Вышгород это город, а Х это улица, и нужно чтоб искался только Вышгород. А Вышгородская ул. не искалась
Вот такая проблема


мне вообщем нужно искать ключевик в X, не равенство и поиск в X Y
например
x=Вышгородская ул.
y=Вышгородская

Должно найтись, целое слово

А если
x=Вышгородская ул.
y=Вышгород
то не должно найтись так как не целое слово.
В X может быть вообще много слов.
 
A

alex77755

Целое слово заканчивается пробелом или знаком препинания.
Проверяй символ после Y и продолжай поиск в строке если надо
 
J

Jumpy

Приветствую
Я в скрипте использую InStr(x,y) для сравнения строк текста, можно ли сделать так что бы проверка была по целому слову, например:
InStr(x,y)
x=Вышгородская ул.
y=Вышгород

Вышгород это город, а Х это улица, и нужно чтоб искался только Вышгород. А Вышгородская ул. не искалась
Вот такая проблема


мне вообщем нужно искать ключевик в X, не равенство и поиск в X Y
например
x=Вышгородская ул.
y=Вышгородская

Должно найтись, целое слово

А если
x=Вышгородская ул.
y=Вышгород
то не должно найтись так как не целое слово.
В X может быть вообще много слов.

instr - как поиск на вхождение +2 доп условия:
проверка символа перед найденным словом
проверка символа после найденого слова
(про ucase lcase - не забывай если регистр важен)

Пример 1:
X = Вывывы рара
Y = Вывы
instr вернет не 0, т.е. такое найдено
потом проверяем инстр вернул 1, значит символ перед найденным словом искать не надо
теперь проверяем не окончание ли это строки если возвращаемое инстр`ом + len(y) = len(x), тут оно не равно - значит проверяем символ mid(x,instr(1,x,y),1) - беква это или нет, если буква - то нашлась лишь часть слова - нам не устраивает

воощем как то так - много проверок дополнительных надо.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!