Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 51

Поиск символов в тексте

12.09.2011, 14:10. Показов 2443. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, мне необходима ваша помощь.
Мне необходимо создать программу:
а. Создать форму с:
  • поле ввода, которое допускает ввод несколько строк
  • поле ввода, которое допускает только одну строку
  • элемент типа - label
б. Вписывая букву, слово или фразу во второе поле ввода, элемент label будет показывать сколько раз вписанная фраза встречается в первом поле ввода.

Вот мой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private void textBox6_TextChanged(object sender, EventArgs e)
        {
            int start;
            int at;
            int end;
            int count;
            int counter2;
 
            end = textBox5.Text.Length;
            start = 0;
            count = 0;
            at = 0;
            counter2 = 0;
            while ((start <= end) && (at > -1))
            {
                count = end - start;
                at = textBox5.Text.IndexOf(textBox6.Text, start, count);
                if (at == -1) break;
                counter2++;
                start = at + 1;
            }
 
            // Идея кода с [url]http://msdn.microsoft.com/en-us/library/system.string.indexof(v=vs.71).aspx[/url]
 
            label3.Text = "Найдено в тексте " + counter2 + " раз";
        }
Проблема в том, что если второе поле ввода пустое то label показывает какое то число.
Может, вы можете показать какой другой способ? Или как заставить мой код работать правильно?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.09.2011, 14:10
Ответы с готовыми решениями:

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

Поиск символов встречающихся в тексте один раз (с использованием классов)
Дана строка, содержащая текст на русском языке. Выбрать из него только те символы, которые встречаются в нем только один раз. Выборку...

Поиск в тексте DOC-файлов последовательностей символов по шаблону и поиск найденных в TXT-файле (с логом)
Уважаемые программисты! Очень нужен bat-файл или скрипт, который решает такую задачу: 1. Осуществляет поиск в тексте массива...

3
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
12.09.2011, 15:34
Я легче напишу свой алгоритм:
C#
1
2
3
4
5
6
7
8
textBox5.Text = "Привет всем! как у вас дела, народ?"; // Многострочное текстовое поле
textBox6.Text = "А тут мы написали много буковок"; // Однострочное текстовое поле
if (textBox6.Text.Length <= 0) return; // если текстовое поле пусто то мы выходим из алгоритма
char[] chars = textBox5.Text.ToLower().ToCharArray();
int count;
foreach (char c in chars)
    if (c == textBox6.Text.ToLower().ToCharArray()[0]) count++;
label3.Text = count.ToString();
Добавлено через 5 минут
или можно использовать только что введёный символ таким образом:
C#
1
2
3
4
int i = textBox6.SelectionStart;
if (i > 0)
    foreach (char c in chars)
        if (c == textBox6.Text.ToLower().ToCharArray()[i - 1]) count++;
1
0 / 0 / 0
Регистрация: 22.11.2010
Сообщений: 51
12.09.2011, 19:33  [ТС]
Спасибо, Ushim.
Но ваш код может найти только чары в тексте. Мне необходимо чтобы он также мог найти количество найденных строк.

Надо сделать так чтобы, он сравнивал чары со всей строкой шестого текстбокса. А не только с первым чаром.
0
 Аватар для ushim
179 / 180 / 55
Регистрация: 01.06.2011
Сообщений: 507
12.09.2011, 19:39
C#
1
2
3
4
5
6
7
8
9
10
11
12
string text = "Как же так? что же делать?"; // текст
            string find = "Же"; // запрос для поиска
            text = text.ToLower();
            find = find.ToLower();
            int count = 0;
            while (text.Contains(find)) // пока запрос для поиска присутствует в тексте
            {
                count++;
                text = text.Remove(0, text.IndexOf(find) + find.Length); // обрезаем текст
            }
            Console.WriteLine(count);
            Console.ReadKey();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2011, 19:39
Помогаю со студенческими работами здесь

Поиск символов в Тексте
Доброго всем веремени суток у меня вопрос по C# чтоб искать конкретное значение лучьше этого делать в ТекстБоксе или в ЛистБоксе? у...

Поиск символов в тексте
Определить наличие слов в заданном тексте, содержащих сочетание символов, задаваемое с экрана

Поиск немецких символов в тексте
Здравствуйте. У меня непростая задача, занимает очень много времени, хочется скоротать время на проработку файла. Прошу вас помочь. ...

Поиск символов в тексте RichTextBox
Здраствуйте. Есть RichTextBox и в нем текст &quot;Сохранение мира требут неимоверно больших усилий&quot; и TextBox в котором текст...

Поиск букв и символов в тексте
Привет знатокам! вот такая задача: &quot;Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru