Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2019, 18:21   #1
Atoni
Новичок
Джуниор
 
Регистрация: 07.06.2013
Сообщений: 1
По умолчанию Собрать уникальные строчки в txt по маске

Всем привет, хочу собрать по маске уникальные строки

Код:
private void button9_Click(object sender, EventArgs e) //ТЕСТОВЫЙ МЕТОД ПОИСКА ПО МАСКЕ(ХОЧУ, ЧТОБЫ ИСКАЛО ТОЛЬКО СРЕДИ ВЫДЕЛЕННЫХ ФАЙЛОВ)

        {
            searchMask(listBox1);
        }

        void searchMask(ListBox listBox1) // Метод поиска по маске

        {
            string rootFolder = @"C:\Users\lavraschuk\Desktop\Files";
            string pattern = @"\b(ArtId=[^a-z][^|][^,][^*][0-9]*)\b|\b(TeNam=[^a-z][^|][0-9]*)\b|\b(ResPickLstId=)\b[0-9]*|\b(PlNamOld = FZG[0-9]*)\b|\b(LvsBsmBoBst::getBstMgOnTe:Rtc dMg=)[0-9]*\b|\b(LvsTpmBoTpa::aenEzl:Aendern Endziel)\b|\b(SlsDaoFzg_T::dbUpdate:UPDATE Fzg_T.FzgNam=[0-9]*)\b";
            using (StreamWriter sw = File.CreateText(@"C:\Users\lavraschuk\Desktop\Target\target.txt"))

                foreach (var file in Directory.EnumerateFiles(rootFolder, "*.txt", SearchOption.AllDirectories))

                {

                    using (StreamReader sr = new StreamReader(file, System.Text.Encoding.Default))

                    {
                        string line;
                        while ((line = sr.ReadLine()) != null)

                        {

                            string newstring = line.Substring(0, 8);
                            Match match = Regex.Match(line, pattern, RegexOptions.IgnoreCase);
                            //string SubString = file.Substring(file.Length - 36);
                            var name = Path.GetFileName(file);

                            if (match.Success)

                            {
                                var jk = (name + " " + newstring + " " + match.Value);
                                sw.WriteLine(jk);
                            }

                            else
                                sw.Write("");
                        }
                    }
                }

            MessageBox.Show("File txt is ready");
        }
Пример файла, по которому бегаю во вложении.
Вложения
Тип файла: txt Новый текстовый документ.txt (3.5 Кб, 146 просмотров)
Atoni вне форума Ответить с цитированием
Старый 01.02.2019, 01:11   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Код:
HashSet<String> used = new HashSet<String>();
...

if (match.Success && !used.Contains(match.Value))
{
    used.Add(match.Value);
    ...
}
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос нескольких столбцов строчки 1 в аналогичное количество строчек с сохранением значения первого столбца строчки 1 ДаниилФ Microsoft Office Excel 6 05.04.2018 16:20
Собрать листы по критерию в один или собрать файлы в определенные листы sanych_09 Microsoft Office Excel 0 05.08.2015 07:01
Поиск строчки и изменение txt файла FreeZon Общие вопросы Delphi 6 28.02.2014 09:49
Процедура поиска - необходимо организовать поиск по маске *.txt в папке Test GvR Общие вопросы Delphi 3 04.11.2009 15:31
как сохранить строчки в TXT файл Ярослав Помощь студентам 2 17.05.2008 18:43