Вводится различные символы, нужно вывести только заглавные буквы, которые стоят по две - VB

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста!!! Вводится различные символы (!2543ФАавпвыПАваААА46лпРТ), нужно вывести только заглавные буквы которые стоят по две, например АП, АР,ЙЦ, если по одно или три, то их не надо выводить.

Решение задачи: «Вводится различные символы, нужно вывести только заглавные буквы, которые стоят по две»

textual
Листинг программы
  1. Option Compare Binary 'это по умолчанию так, но не повредит
  2.  
  3. Sub couples_ala_AB()
  4. Const vvod = "!2543ФАавпвыПАваААА46лпРТ"
  5. Const PAIR = "[A-ZА-ЯЁ][A-ZА-ЯЁ]" 'это шаблон поиска пары заглавных букв
  6. Const P = vbLf 'перевод строки (при выводе)
  7. Dim i, s, dobavka
  8.  
  9.     dobavka = Mid(vvod, 1, 2) 'отдельно проверим крайнюю пару (левую)
  10.    If dobavka Like PAIR Then _
  11.     If Not Mid(vvod, 3, 1) Like "[A-ZА-ЯЁ]" Then s = s & dobavka
  12.    
  13.         For i = 2 To Len(vvod) - 2
  14.             dobavka = Mid(vvod, i, 2) 'смотрим, что за символы i-й и (i+1)-й
  15.            If dobavka Like PAIR Then 'пара заглавных букв
  16.              If Not (Mid(vvod, i - 1, 1) Like "[A-ZА-ЯЁ]" _
  17.                    Or Mid(vvod, i + 2, 1) Like "[A-ZА-ЯЁ]") Then s = s & dobavka
  18.                 MsgBox "dobavka: " & dobavka & P & "s: " & s
  19.             End If
  20.         Next
  21.        
  22.     dobavka = Mid(vvod, Len(vvod) - 1) 'отдельно проверим крайнюю пару (правую)
  23.    If dobavka Like PAIR Then _
  24.     If Not Mid(vvod, Len(vvod) - 2, 1) Like "[A-ZА-ЯЁ]" Then s = s & dobavka
  25.    
  26.     MsgBox "Вводная:" & P & vvod & P & P & "Отфильтрованная: " & P & s
  27. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы