Страницы: 1
RSS
Определить какие из фрагментов есть в общей фразе и обозначить их соответствующими метками
 
Всем привет. Форумчане, подскажите, как реализовать поиск конкретной не найденной части текста. Суть в файле - есть адресная строка, она подается в программу и выдает адрес по частям, рядом. И часто в этих частях есть исправления в исходной части - пара букв в названии улицы, поселка, либо целый подставляемые регионы или нас пункты. Найти целую часть через LIKE знаю как, но как отметить только не найденные буквы, а не все значение целиком. Например в приложенной примере нужно отметить только букву ч в слове Азотчиков, остальная последовательность верная. Это позволит быстро определять, что опечатка, а что было поставленно целиком.
 
Название темы, конечно... как можно найти то, чего нет?
 
если текст УЖЕ не найден - дальнейшие поиски - бессмысленны!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Скрытый текст
Изменено: kalbasiatka - 21.05.2018 19:15:31
 
Iгор, возможно, но если бы отметить конкретную не найденную букву, то потом пользователям будет проще определить - это опечатка, или все слово целиком было найдено и поставлено, а в начальной строке его нет.
 
откройте файл, выполните эту процедуру
Код
Sub FindSameThing()
  Const pre$ = "(^|\s)", su$ = "(\.|,|$)"
  Dim c&, i&, p&, s$, re, m, txt$
  Set re = CreateObject("VBScript.RegExp"): c = 3: txt = Cells(1, 1)
  Do While Not IsEmpty(Cells(1, c))
    s = Cells(1, c)
    re.Pattern = pre & s & su
    If re.test(txt) Then
      AllRight c
    Else
      For i = 1 To Len(s)
        re.Pattern = pre & Left(s, i - 1) & "." & Right(s, Len(s) - i) & su
        If re.test(txt) Then NoGood c, i:  Exit For
      Next
      If i > Len(s) Then NoGood c
    End If
    c = c + 1
  Loop
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Iгор, я в вас не сомневался)) Благодарю. Эх придется еще одну тему пилить. Опять застрял.
 
название темы:
определить какие из фрагментов есть в общей фразе и обозначить их соответствующими метками
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх