• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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) - беква это или нет, если буква - то нашлась лишь часть слова - нам не устраивает

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

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