В заданной строке, состоящей из "слов", разделенных пробелами, определить количество "слов" - VB
Формулировка задачи:
В заданной строке, состоящей из "слов", разделенных одним или более пробелами, определить количество "слов"
Помогите...
Решение задачи: «В заданной строке, состоящей из "слов", разделенных пробелами, определить количество "слов"»
textual
Листинг программы
Dim s_FindString As String ' Строку, которую ищем. Dim s_InString As String ' Исходная строка (из RichTextBox1). Dim Pos As Long ' Позиция найденного слова. Dim StartPos As Long ' Начальная позиция поиска. Dim CountWords As Long ' Количество строк. Dim WordDelimiters As String ' Разделители строк. With Me.RichTextBox1 .Text = "text ddd text ffff text text text dfdfd" ' Это пробная строка. Потом исключить. .SelStart = 1 .SelLength = Len(Me.RichTextBox1.Text) .SelColor = RGB(0, 0, 0) End With WordDelimiters = " ;:.,|" ' Разделители слов. Можно вынести в поле формы. s_FindString = UCase$(Me.Text3) ' Строка поиска. Переводим в верхний регистр. s_InString = UCase$(Me.RichTextBox1.Text) ' Исходная строка. Тоже переводим в верхний регистр. s_InString = " " & s_InString & " " ' Добавляем по пробелу в начале и в конце строки, ' для исключения ошибки, если искомое слово - первое ' или последнее в строке. StartPos = 1 Do Pos = InStr(StartPos, s_InString, s_FindString) If Pos = 0 Then Exit Do ' Закнчиваем цикл, если ничего не найдено. ' Проверяем разделители. If InStr(WordDelimiters, Mid$(s_InString, Pos - 1, 1)) > 0 And _ InStr(WordDelimiters, Mid$(s_InString, Pos + Len(s_FindString), 1)) > 0 Then CountWords = CountWords + 1 ' Увеличиваем счётчик ' Раскрашиваем найденное. With Me.RichTextBox1 .SelStart = Pos - 2 .SelLength = Len(s_FindString) .SelColor = RGB(255, 0, 0) End With End If StartPos = Pos + Len(s_FindString) - 1 Loop Me.Text2 = CountWords
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д