Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
chaleureux
18 / 21 / 19
Регистрация: 24.12.2014
Сообщений: 988
1

Как регулярками удалить дубликаты строк?

28.12.2015, 21:42. Просмотров 463. Ответов 6
Метки нет (Все метки)

Всем привет, немогу никак сообразить как удалить дубли [] строки, или полностью всю строку, от 1 символа, до последнего!

У меня много:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
|| # [  ]  [ 12.26.2015 - 11:43:07 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:08 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:16 ] # ||
Вот как сделать так чтобы они сразу же удалялись? если время разное, кто нибудь помогите

P.S: Спросите Вы, а где здесь дубликаты, ну если так то как убрать от || # [ ] до последней строчки ||

Добавлено через 20 часов 58 минут
НУ хоть кто нибудь

Добавлено через 3 часа 25 минут
Эх не судьба )

Добавлено через 21 час 28 минут
Ну где же вы люди добрые )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2015, 21:42
Ответы с готовыми решениями:

Удалить дубликаты строк и символ из каждой строки
Добрый день. Помогите пожалуйста, есть текстовый файл состоящий из строк:...

Удалить дубликаты в List
Всех приветствую, Софт открывает текстовый файл и заносит его содержимое в...

Через OpenDialog открыть txt и удалить в нем дубликаты
Помогите с данными вопросами: Первый вопрос: через OpenDialog открыть txt...

Как удалить символы в начале и в конце строк?
Здравствуйте всем,у меня проблема,помогите её решить пожалуйста.Делаю...

В DataGridView загружается определённая строка и с ней появляются 5 пустых строк - как их удалить
Здравствуйте. Имеется: DataGridView на форме. Текстовый файл (6 строк). В...

6
Hikari
Хитрая блондиночка $)
1451 / 963 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
28.12.2015, 22:02 2
C#
1
2
string s="|| # [  ]  [ 12.26.2015 - 11:43:07 ] # ||";
s=s.replace("|| # [  ]  [ ","").replace(" ] # ||","")
А регулярками так:
C#
1
2
3
4
5
6
            string s = "|| # [  ]  [ 12.26.2015 - 11:43:07 ] # ||";
            string reg = @"(\d{2}).(\d{2}).(\d{4}) - (\d{2}):(\d{2}):(\d{2})";
            foreach (Match ss in Regex.Matches(s, reg))
                for(int i=1;i<ss.Groups.Count-1;i++)
                Console.WriteLine("{0} ",ss.Groups[i]);
            Console.ReadKey();
Ну или примерно так.
0
chaleureux
18 / 21 / 19
Регистрация: 24.12.2014
Сообщений: 988
29.12.2015, 01:04  [ТС] 3
ВООО Спасибо щас опробую
Ну наконец хоть кто-то сооизволил ответить :*

Добавлено через 10 минут
А как удалить если скажем (время сейчас) DateTime.Now.ToString("hh:mm:ss ]") и удалить запись если она совпадает с предыдущей?!

Добавлено через 4 минуты
ЭХ не 1-й ни 2-й вариант не работают или я что-то делаю не так!
У меня в файле всё эти записи
попробовал так но не работает
C#
1
2
3
4
5
string  vT = @"C:\Test.txt";
string reg = @"(\d{2}).(\d{2}).(\d{4}) - (\d{2}):(\d{2}):(\d{2})";
            foreach (Match ss in Regex.Matches(vT , reg))
                for(int i=1;i<ss.Groups.Count-1;i++)
                textBox1.Text += ss.Groups[i]; // просто думал показать в тексбоксе весь процесс), но он не нужен как без этих выводов просто удалить ненужные строки - дубли!
Добавлено через 2 часа 38 минут
Вопрос ещё актуален, кто что знает поделитесь)
0
Emilien
523 / 421 / 246
Регистрация: 07.11.2015
Сообщений: 688
12.01.2016, 00:23 4
Удаление строк, которые начинаются на "|| #".
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
string input = @"This is   text with   far  too
|| # [  ]  [ 12.26.2015 - 11:43:07 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:08 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
 
 
|| # [  ]  [ 12.26.2015 - 11:43:16 ] # ||
";
 
string result = Regex.Replace(input, @"(?ms)^\|\| #.*?(^|\z)", "");
Удаление строк, которые содержат "12.26.2015 - 11".
C#
1
string result = Regex.Replace(input, @"(?m)^.*?12\.26\.2015 - 11(?s).*?(^|\z)", "");
0
chaleureux
18 / 21 / 19
Регистрация: 24.12.2014
Сообщений: 988
12.01.2016, 00:27  [ТС] 5
спс, но как быть если время всё время разное?
0
Emilien
523 / 421 / 246
Регистрация: 07.11.2015
Сообщений: 688
12.01.2016, 04:57 6
Если точное время неизвестно, но несколько строк подряд полностью совпадают.
C#
1
2
3
4
5
6
7
8
9
string input = @"
|| # [  ]  [ 12.26.2015 - 11:43:08 ] # ||
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # || 
|| # [  ]  [ 12.26.2015 - 11:43:14 ] # ||
|| # [  ]  [ 12.26.2015 - 11:43:16 ] # ||
";
 
string result = Regex.Replace(input, @"(?m)^(.+)(\s+^\1)+", "");
Результат
|| # [ ] [ 12.26.2015 - 11:43:08 ] # ||

|| # [ ] [ 12.26.2015 - 11:43:16 ] # ||

C#
1
string result = Regex.Replace(input, @"(?m)^(.+)(?=\s+^\1)", "");
Результат
|| # [ ] [ 12.26.2015 - 11:43:08 ] # ||

|| # [ ] [ 12.26.2015 - 11:43:14 ] # ||
|| # [ ] [ 12.26.2015 - 11:43:16 ] # ||
0
chaleureux
18 / 21 / 19
Регистрация: 24.12.2014
Сообщений: 988
12.01.2016, 12:43  [ТС] 7
Тут немного не так!
из
Цитата Сообщение от Emilien Посмотреть сообщение
C#
1
2
3
4
5
6
7
string input = @"
|| # [ *] *[ 12.26.2015 - 11:43:08 ] # ||
|| # [ *] *[ 12.26.2015 - 11:43:14 ] # ||
|| # [ *] *[ 12.26.2015 - 11:43:14 ] # || 
|| # [ *] *[ 12.26.2015 - 11:43:14 ] # ||
|| # [ *] *[ 12.26.2015 - 11:43:16 ] # ||
";
Сложность в том что, при клике в какую нибудь программу, показывает [] и время каждый раз новое, зачем мне брать из input ?
Это уже записывается автоматически в текстбокс!!
0
12.01.2016, 12:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2016, 12:43

Чем лучше парсить регулярками или HtmlAgility?
Имеется такой код &lt;li class=&quot;proxy&quot;&gt;212.82.126.32:80&lt;/li&gt; ...

Listbox - удалить сразу несколько строк
Добрый день, коллеги! Запарился на ровном месте - как удалить несколько строк...

Дубликаты в datagridviev
Есть файл(&gt;1 млн стр.). Нужно найти дубликаты по 3 столбцу и 5 (прайс-лист)....


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

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

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