End Sub
End Select
Else
Option Explicit
Типовые задачи на обработку строк
Анализ символьных строк
Пример 1. Ввести строку символов. Определить:
- количество цифр в строке;
- есть ли в строке одинаковые символы;
- вывести все гласные буквы латинского алфавита.
Фрагмент программного кода:
Private Sub Command1_Click()
Dim S As String, S1 As String, a As String
Dim i As Integer, kol As Integer, n As Integer
Dim T As Boolean 'Логическая переменная
S = Text1.Text 'Ввод строки
Text2.Text = "": Text3.Text = "": Text4.Text = ""
n = Len(S) 'Длина строки
'Определение количества цифр в строке
kol = 0 'Инициализация счетчика для подсчета количества цифр
For i = 1 To n 'Цикл по всем символам строки для поиска цифр
a = Mid(S, i, 1)
If (a >= "0") And (a <= "9") Then kol = kol + 1
Next i
Text2.Text = Str(kol) 'Вывод количества цифр в строке
'Определяется, есть ли в строке одинаковые символы
T = False 'Предполагается, что одинаковых символов нет
For i = 1 To n 'Цикл для поиска одинаковых символов
'Если i-ый символ исходной строки встречается в строке еще раз, то функция IntStr 'вернет значение не равное нулю
If (InStr(1, S, Mid(S, i, 1)) <> 0) And _
(InStr(1, S, Mid(S, i, 1)) <> i) Then
T = True 'i-ый символ в подстроке есть
Exit For 'Немедленный выход из цикла, если найден хотя бы
'один одинаковый символ
EndIf
Next i
If T Then
Text3.Text = "Одинаковые символы есть"
Text3.Text = "Одинаковых символов нет"
End If
'Вывод гласных латинских букв
For i = 1 To n 'Цикл для поиска гласных латинских букв
a = Mid(S, i, 1)
Select Case a
Case "A", "E", "I", "O", "U", "Y"
Text4.Text = Text4.Text + a + " "
Case "a", "e", "i", "o", "u", "y"
Text4.Text = Text4.Text + a + " "
Next i
If Text4.Text = "" Then Text4.Text = "Таких букв нет"
Пример 2. Дан текст. Определить количество предложений и найти количество слов, начинающихся с буквы «п».
Фрагмент программного кода:
S = Text1.Text
n = Len(S)
'Подсчет количества предложений
kp=0
For i = 1 To n
a = Mid(S, i, 1) 'Выделение i-го символа
If (a=".") Or (a="?") Or (a="!") Then kp=kp+1
Next i
'Подсчет количества слов, начинающихся с буквы «п» или «П»
If (Mid(S, 1, 1)="П") Then ks=1 Else ks=0'Проверка первого слова
For i=1 To n
If (Mid(S,i,2)=" П") Or (Mid(S,i,2)=" п") Then ks=ks+1
Next i
Изменение строк (замена, удаление, вставка символов)
Пример 3. Получить новую строку S1 из введенной строки S, заменив строчные русские буквы на прописные.
Фрагмент программного кода:
For i = 1 To Len(S) 'Цикл по всем символам заданной строки
a = Mid(S, i, 1)
Select Case a
'Преобразование встреченной в заданной строке строчной русской буквы
'в прописную русскую букву и добавление ее в новую строку. Прописная русская буква
'в таблице ASCII имеет код меньший, чем соответствующая ей строчная, на 32.
Case "а" To "я"
S1 = S1 + Chr(Asc(a) - 32)