Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.07.2019
Сообщений: 2
1
.NET 4.x

Программа для поиска по тексту в файле(частичное и полное совпадение)

02.07.2019, 10:16. Просмотров 824. Ответов 5
Метки нет (Все метки)


Помогите пожалуйста, дали задание написать программу, а я с C# очень плохо знаком. Задание следующие:
  1. Программа должна осуществлять поиск по полному номеру или части номера
  2. В качестве результата поиска вывести список найденных номеров и их количество
  3. После каждого поиска нужно предоставить выбор - сделать еще один поиск или выйти
Буду очень благодарен за помощь. В качестве файла использую простой .txt файл
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.07.2019, 10:16
Ответы с готовыми решениями:

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

Частичное совпадение like?
Всем доброго времени суток, уважаемые! Делаю поиск на сайте под свои нужды и столкнулся с...

Сравнение 2-х столбцов на частичное совпадение
Есть макрос, он сравнивает два столбца на частичное совпадение. При сравнении 50 строк справляется...

Программа для поиска плагиата в текстовом файле (MsWord)
Требуется написать программу для поиска плагиата. Пример: Есть мой реферат в формате ".docx" и...

5
1354 / 802 / 434
Регистрация: 14.04.2015
Сообщений: 3,038
02.07.2019, 10:38 2
Ningiszida, какому номеру?
что вообще в файле должно лежать?
0
678 / 501 / 231
Регистрация: 02.10.2012
Сообщений: 1,717
02.07.2019, 10:55 3
например так
C#
1
2
3
4
5
6
7
8
9
10
string str = "1234 2345 4567 562378 59524 19523";
            string find = "23";
            Regex rgx = new Regex($"[0-9]*{find}[0-9]*");
            MatchCollection matches = rgx.Matches(str);
            if (matches.Count > 0)
            {
                foreach (Match match in matches)
                    Console.WriteLine(match.Value);
            }
            Console.ReadKey();
0
0 / 0 / 0
Регистрация: 02.07.2019
Сообщений: 2
02.07.2019, 10:55  [ТС] 4
В файле лежат номера автомобилей. Нужно сделать консольное приложение которое могло бы искать по частичному или полному совпадению номера автомобилей.
0
678 / 501 / 231
Регистрация: 02.10.2012
Сообщений: 1,717
02.07.2019, 11:04 5
C#
1
2
3
string str = "С234КС777 О582АМ190 Н741ТК88 Е5195АМ177";
            string find = "АМ";
            Regex rgx = new Regex(@"\w*" + find + @"\w*");
Добавлено через 34 секунды
соответственно str берете из файла, а find вводит пользователь
0
1354 / 802 / 434
Регистрация: 14.04.2015
Сообщений: 3,038
02.07.2019, 15:04 6
Ningiszida,
1) файл:
1234 TV-26
3423 M-999
546X SV-32
123R Z-099
123XXX RU-546
2) код программы:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.IO;
using System.Linq;
using System.Text;
 
namespace ConsoleApp79
{
    class Program
    {
        static void Main(string[] args)
        {
            string InputFile = @"NumbersAuto.txt";
 
            string[] Numbers = File.ReadAllLines(InputFile, Encoding.Default);
 
            foreach (string Number in Numbers)
            {
                Console.WriteLine(Number);
            }
 
            string FindNumber;
 
            Start: Console.Write("Выберите режим поиска (1 - частичное совпадение, 2 - полное совпадение): ");
 
            switch (Convert.ToInt32(Console.ReadLine()))
            {
                case 1:
                    Console.Write("Введите часть номера для частичного совпадения: ");
 
                    FindNumber = Console.ReadLine();
 
                    for (int i = 0; i < Numbers.Length; i++)
                    {
                        if (Numbers.Any(a => Numbers[i].Contains(FindNumber)))
                        {
                            Console.WriteLine(Numbers[i]);
                        }
                    }                  
                   
                    Console.WriteLine("Вернуться к режиму поиска? (y/n)");
 
                    switch (Console.ReadLine())
                    {
                        case "y":
                            goto Start;                            
                        case "n":
                            Environment.Exit(-1);
                            break;
                    }
                    break;
 
                case 2:
                    Console.Write("Введите номер целиком для полного совпадения: ");
 
                    FindNumber = Console.ReadLine();
 
                    for (int i = 0; i < Numbers.Length; i++)
                    {
                        if (Numbers.Any(a => Numbers[i].Equals(FindNumber)))
                        {
                            Console.WriteLine(Numbers[i]);
                        }
                    }
 
                    Console.WriteLine("Вернуться к режиму поиска? (y/n)");
 
                    switch (Console.ReadLine())
                    {
                        case "y":
                            goto Start;
                        case "n":
                            Environment.Exit(-1);
                            break;
                    }
                    break;
 
                default:
                    Console.WriteLine("Введен неверный режим поиска. Начать заново? (y/n)");
 
                    switch(Console.ReadLine())
                    {
                        case "y":
                            goto Start;
                        case "n":
                            Environment.Exit(-1);
                            break;
                    }
                    break;
            }            
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.07.2019, 15:04

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

Сравнение х столбцов на частичное совпадение всех ячеек
Есть 2 столбца A и B. В столбце А слова, а в столбце В фразы из нескольких слов(некоторые ячейки в...

Частичное и полное участие связи
Добрые люди помогите пожалуйста. Как будет реализована связь один ко многим с частичным участием со...

Полное или частичное решение
Есть максимальное значение F, а минимальное 0. Каждый день может произойти событие, если оно...

Реализация функции отображения найденных данных в listview (частичное совпадение)
Добрый день! Подскажите, как можно реализовать функцию по поиску в listview1​ данных (в любом...


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

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

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