Обработка текста регулярным выражением

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Есть список такого вида:
Код:
mail/sdfdsfka
list/dsdfsdaso
bk/midfdfniya
inbox/edf12dne
mail/aammax1
inbox/mifghn2001
mail/anttyutka
mail/merervi
Как его превратить в список вида

и так далее.

Пробовал создать цикл с обработкой каждой строки отдельно, но это нереально долго даже для небольших списков.
 

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
Попробуйте кодом C#:
Код:
List<string> all = new List<string>(project.Lists["Список с текстом"]);
char sep = '/';
            string[] parts;
            for (int i = 0; i < all.Count; i++)
            {
                parts = all[i].Split(sep);
                try
                {
                    project.Lists["Список, куда положить результат"].Add(parts[1] + "@" + parts[0] + ".ru");
                }
                catch (Exception) {}
            }
 
  • Спасибо
Реакции: GrandT

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Попробуйте кодом C#:
Код:
List<string> all = new List<string>(project.Lists["Список с текстом"]);
char sep = '/';
            string[] parts;
            for (int i = 0; i < all.Count; i++)
            {
                parts = all[i].Split(sep);
                try
                {
                    project.Lists["Список, куда положить результат"].Add(parts[1] + "@" + parts[0] + ".ru");
                }
                catch (Exception) {}
            }
Супер! Все заработало! Благодарю!
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Попробуйте кодом C#:
Код:
List<string> all = new List<string>(project.Lists["Список с текстом"]);
char sep = '/';
            string[] parts;
            for (int i = 0; i < all.Count; i++)
            {
                parts = all[i].Split(sep);
                try
                {
                    project.Lists["Список, куда положить результат"].Add(parts[1] + "@" + parts[0] + ".ru");
                }
                catch (Exception) {}
            }

И еще вопрос такой. Как сделать сравнение двух списков по строкам в C#? Допустим, в Списке 1 перечислены е-майлы которые нужно удалить из Списка 2 (если они там есть).
И скиньте WMR, отблагодарю малость за потраченное время)
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
И еще, если можно, напишите код C#, как удалить дублирующие строки из любого списка
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
И еще, если можно, напишите код C#, как удалить дублирующие строки из любого списка
С дубликатами разобрался, нашел функцию удаления дубликатов в операциях со списком.
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Я тоже раньше страдал что пытался сделать абсолютно все постером, даже когда не знал как. В итоге тратишь время больше на вещи. которые потом и не пригодятся)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
В этом есть сакральный смысл наработки опыта)))) для того чтобы хорошенечко забить гвоздь микроскопом обычно приходится порядком попотеть для осознания конструкции микроскопа и выбора оптимального места для захвата))))))
Так что даже если и нафик потом не нужно - ценный опыт уже не пропьешь)
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
Да это понятно. Я уже писал выше, что это очень долго. Представьте список в 50000 емайлов)) Я лично больше 50 "кругов" зеннопостера по циклу не выдерживаю. Не знаю, может в Project Maker'е все немного медленнее, чем в ZP, но не думаю что разница большая.
 

GrandT

Client
Регистрация
23.07.2014
Сообщения
160
Благодарностей
64
Баллы
28
В экселе за 20 секунд :-)
Как вариант - можно. Но файлов со списками на выходе очень много, а объединить их нельзя. Поэтому ваши 20 секунд можно смело умножать на 1000:-)
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Да это понятно. Я уже писал выше, что это очень долго. Представьте список в 50000 емайлов)) Я лично больше 50 "кругов" зеннопостера по циклу не выдерживаю. Не знаю, может в Project Maker'е все немного медленнее, чем в ZP, но не думаю что разница большая.
Да, не учел. Сам сейчас сам столкнулся с проблемой скачать базу на 300к записей. В однопоточном режиме скачал 2000 записей за 2 дня. Мне всего год нужен и база моя!)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
это из чего вы такую базу качаете?
ну т.е. это база или парсите кучу страничек?
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
Ахахах))) так то да))))) ну))) тогда или за стандартом, или в кодеры))
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Ахахах))) так то да))))) ну))) тогда или за стандартом, или в кодеры))
Скорее тогда за прошкой. Ведь стандарт просто уменьшит этот срок. Всеравно 2 месяца будет)). Тут только в прошке выход.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
Подумайте над оптимизацией, если контент есть в коде страницы, а не подгружается сриптами - можно на гет-запросах сделать очень шустрый парсер
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
Подумайте над оптимизацией, если контент есть в коде страницы, а не подгружается сриптами - можно на гет-запросах сделать очень шустрый парсер
У меня гет запросы работают с той же скоростью,что и открытие страницы). По крайней мере в 2 других проектах. Поэтому тут я так и реализовал. Страничка легкая, я не думаю,что гет сильно увеличит скорость. Ни скриптов ни картинок, ничего. Тот же гет запрос)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
А вы инициализацию инстанса выключите, если можно на гет-запросах и тихонечко сползайте под стол от удовольствия.
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
А вы инициализацию инстанса выключите, если можно на гет-запросах и тихонечко сползайте под стол от удовольствия.
Не нашел. Как это сделать?
Да, гет запросами попробовал, можно. Но долго, жуть
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

 
  • Спасибо
Реакции: Dexio

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 254
Благодарностей
220
Баллы
63
А вы инициализацию инстанса выключите, если можно на гет-запросах и тихонечко сползайте под стол от удовольствия.
На данный момент сделал через гет запросы, но заметил такую особенность. Что работает в разы быстрее если в шаблоне сразу цикл вечный сделать, чем в зенно указывать кол-во раз для запуска.
Если указываю в зенно то он каждый запуск оч долго начинает. Секунды 2.
А в цикле внутри шаблона раз в 5 быстрее
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
ну это не удивительно, т.к. на инициализацию все равно уходит время
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)