Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 49

Поиск вводимого слова

30.05.2015, 21:30. Показов 1885. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, кому-нибудь встречалась такая задача: допустим есть литературное произведение "Война и мир", и необходимо посчитать сколько раз используется слово "Война" в этом произведении, то есть необходимо сделать поиск по шаблону. Помогите, пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2015, 21:30
Ответы с готовыми решениями:

Поиск слова в тексе
Вчера начал изучать с# и дошел до вопроса, посылаю гет запрос в интернет, мне приходит ответ, сохраняю его в строку, но нужно из этой...

Поиск слова в файле
:cry:ПОМОГИТЕ!! очень срочно надо! Вобщем: 1.сначала получаем из текстбокса слово. 2. в файле ищем строку, начинающуюся с этого слова ...

Поиск существующего слова
Всем доброго времени суток. Идея состоит в том что бы имея набор букв сгенерировать различные комбинации слов. Мне надо проверить...

9
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
30.05.2015, 21:44
Лучший ответ Сообщение было отмечено Elena14 как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication31
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "ауцлоавурцлартцоулиауциацувойнаждькулдтокучертуцвойнаауцмвойнацалоцуяблокосцумрцо";
            Console.WriteLine(Regex.Matches(s,"война").Count);
            Console.ReadKey();
        }
    }
}
0
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 49
30.05.2015, 21:47  [ТС]
А если допустим я загружаю часть этого произведение, то как сделать поиск?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
30.05.2015, 21:51
То есть может получиться так, что слово окажется разбито между частями? Например часть кончается на "вой" и следующая начинается на "на"?
0
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 49
30.05.2015, 21:54  [ТС]
Может быть и так.
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
30.05.2015, 22:14
Лучший ответ Сообщение было отмечено Elena14 как решение

Решение

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
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication31
{
    class Program
    {
        static void Main(string[] args)
        {
            string wordtofind = "война";
            string[] s = new string[3]{"dwqdwqdqdвойнаоаиулцоауцавой","навтмавмвумирвой","наfefef"};
            int result = 0;
            string part = "";
            for(int i=0;i<s.Length;i++)
            {
            result += Regex.Matches(part + s[i],wordtofind).Count;
            if (s[i].Length > wordtofind.Length)
            {
                part = s[i].Substring(s[i].Length - wordtofind.Length);
            }
            else { part = s[i]; }
            }
            Console.WriteLine("Слово \"война\" встречается в данном тексте " + result.ToString() + " раз");
            Console.ReadKey();
        }
    }
}
Так должно работать, но если считать что тексты уж очень большие и занимают много памяти то делать придется по-другому..
0
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 49
30.05.2015, 22:22  [ТС]
А если с кнопкой сделать, допустим выбрать файл, где содержание произведения, и сделать поиск?
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
30.05.2015, 22:34
А если с кнопкой сделать, допустим выбрать файл, где содержание произведения, и сделать поиск?
Не совсем понял, что такое содержание? Оглавление? Или сама книга?
Суть собственно одна и та же как ни крути, файл выбирать через OpenFileDialog, который вызывается кнопкой. Дальше, если считывать частями, то через StreamReader. Считывание запустить в цикле вместо for в предыдущем примере.
0
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 49
30.05.2015, 22:36  [ТС]
Через кнопку выбираем книгу
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
30.05.2015, 22:57
Лучший ответ Сообщение было отмечено Elena14 как решение

Решение

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;
 
namespace WindowsFormsApplication45
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string wordtofind = "война"; //или = какой_нибудь_там_тексбокс.Text
            int result = 0;
            string part = "";
 
            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == DialogResult.OK){
            using (var reader = new System.IO.StreamReader(ofd.FileName, Encoding.GetEncoding(1251)))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    result += Regex.Matches(part + line, wordtofind).Count;
                    if (line.Length >= wordtofind.Length)
                    {
                        part = line.Substring(line.Length - wordtofind.Length + 1);
                    }
                    else { part = line; }
                }
            }
            }
            MessageBox.Show("Слово \"война\" встречается в данном тексте " + result.ToString() + " раз");
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2015, 22:57
Помогаю со студенческими работами здесь

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

Поиск слова в PDF файле
Мне необходимо найти определённое слова в PDF - файле. Нашла библиотека iTextSharp - в инете пишется что это большая библиотека для...

Поиск и выделение слова в тексте
Уважаемый всем, еще раз спросить всем, очень пожалуйста как сделать поиск например слово БОГ получить найти много разный слово чтоб...

Поиск ключевого слова в документе
Необходимо получить исходный код сайта. Это выполнил следующим образом: var uri =...

Поиск и выделение слова в тексте
Доброго времени суток. Нужно реализовать поиск и выделение слова в тексте СТРУКТУРНО. private void button1_Click(object sender, EventArgs...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru