Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
uzlprog
14 / 15 / 1
Регистрация: 23.04.2012
Сообщений: 584
1

Как проверить в TextBox наличие подряд идущих одинаковых символов?

17.11.2014, 00:06. Просмотров 1260. Ответов 5
Метки нет (Все метки)

Есть строка в TextBox необходимо проверить повторы символов от n раз и более. То есть допустим нужно ответить на вопрос есть ли в данной строке 5 повторов одинаковых символов (без разницы каких).
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2014, 00:06
Ответы с готовыми решениями:

Проверить наличие определенных символов в имени выбранного файла
через OpenFileDialog выбираю файл, путь к нему записываю в текстовое поле. необходимо проверить...

Проверить наличие в массиве трех подряд идущих одинаковых элемента
29. Если в одномерном массиве имеются три подряд идущих одинаковых элемента, то переменной r...

Проверить наличие в последовательности пяти подряд идущих заданных символов
#include "stdafx.h" #include "stdio.h" #include "math.h" #include "iostream" #include...

Поиск идущих подряд одинаковых символов.
Написал программу поиска идущих подряд одинаковых символов, но оно не совсем работает......

Замена подряд идущих одинаковых символов на заданный
Составить программу которая заменяет любое количество одинаковых символов, которые идут друг за...

5
vova2112
119 / 111 / 30
Регистрация: 28.02.2014
Сообщений: 135
17.11.2014, 00:39 2
Вот так можно:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        Dim str$ = "Хорошо прогуляться на рассвете"
        TextBox1.Text = str
        Dim i% = 0
        For Each ch In str.ToLower
            If ch = "о"c Then
                i += 1
            End If
        Next
        Select Case i
            Case Is >= 4
                MsgBox("Текст содержит " & i & " букв 'о' или более")
            Case Else
                MsgBox("Текст содержит только " & i & " букв 'о'")
        End Select
0
Памирыч
Почетный модератор
21147 / 8876 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
17.11.2014, 00:41 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Принцип
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
        Dim S As String = TextBox1.Text
        Dim Prev As Char
        Dim Cnt As Integer = 0
        For I As Integer = 0 To S.Length - 1
            If S(I) = Prev Then
                Cnt += 1
            Else
                Cnt = 0
            End If
            Prev = S(I)
            If Cnt >= 4 Then MsgBox("5 символов, идущих подряд: " & S(I))
        Next
1
uzlprog
14 / 15 / 1
Регистрация: 23.04.2012
Сообщений: 584
17.11.2014, 01:06  [ТС] 4
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
Dim S As String = TextBox1.Text
        Dim Prev As Char
        Dim Cnt As Integer = 0
        For I As Integer = 0 To S.Length - 1
            If S(I) = Prev Then
                Cnt += 1
            Else
                Cnt = 0
            End If
            Prev = S(I)
            If Cnt >= 4 Then MsgBox("5 символов, идущих подряд: " & S(I))
        Next
А если в случае отсутствия таких повторов я захочу вывести пользователю MsgBox?

vb.net
1
2
3
4
If Cnt >= 4 Then 
MsgBox("5 символов, идущих подряд: " & S(I))
Else
MsgBox("нет повторов")
Не работает, вернее срабатывает всегда последнее условие(
0
Памирыч
Почетный модератор
21147 / 8876 / 1080
Регистрация: 11.04.2010
Сообщений: 11,012
17.11.2014, 01:15 5
uzlprog, сделаю подсказку, скорее всего, Вы поймете.

Чтобы вывести сообщение, что не было повторов, надо где-то завести переменную. И сразу объявить ее в False
Цикл работает, и вот нашлось 5 повторов. Вот ту самую переменную меняете на True, мол, по крайней мере, одно совпадение было. После цикла проверяете переменную.
Если она так и осталась в False - увы, ничего не нашлось.
0
uzlprog
14 / 15 / 1
Регистрация: 23.04.2012
Сообщений: 584
17.11.2014, 01:18  [ТС] 6
Ясно! Заработало!
0
17.11.2014, 01:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2014, 01:18

Найти количество групп подряд идущих одинаковых символов
Дана таблица содержащая группы одинаковых подряд идущих чисел. Вывести на экран "число-кол-во...

найти наибольшее количество подряд идущих одинаковых символов
Задача: "Дан текст, который пользователь должен ввести в программу, найти и вывести наибольшее...

Определить максимальное количество одинаковых символов, идущих подряд
Ввести строку с клавиатуры. Определить максимальное количество одинаковых символов, идущих подряд....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.