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

Тема в разделе "Visual Basic", создана пользователем SoFuWa, 18 июл 2009.

  1. SoFuWa

    SoFuWa Гость

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

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


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

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

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

    alex77755 Well-Known Member

    Регистрация:
    15 фев 2009
    Сообщения:
    128
    Симпатии:
    0
    Целое слово заканчивается пробелом или знаком препинания.
    Проверяй символ после Y и продолжай поиск в строке если надо
     
  3. Jumpy

    Jumpy Гость

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

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

    воощем как то так - много проверок дополнительных надо.
     
Загрузка...

Поделиться этой страницей