Дописать в каждую строку текст в списке

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
Приветствую. Есть список с id, разделитель - новая строка. Нужно преобразовать его в список вида http://url/id . Т.е. чтобы из списка вида:
id1
id2
id3
...
Получить список вида:
http://url/id1
http://url/id2
http://url/id3
...
При условии, что адрес http://url/ - одинаковый. Додумался только изгаляться получением строки с удалением, установкой значения переменной http://url/строка и сохранением в новый список и так по циклу. Но получается долго, с большим списком вообще беда, и чувствую я есть выход куда менее болезненный :-) Спасибо.
 

7make

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

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

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
используй сразу подстановку http://vk.com/{Variable.Id}
Я собираю id со страницы сразу же через regex по регулярке и забираю все выражения в список. Если забирать по одному id от 0 до n и заменяя на http://vk.com/{Variable.Id} каждое, получается очень долго. Может есть возможность регуляркой или c# сделать, чтобы при regex всех значений в список они попадали уже с http://vk.com/ ?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
а вам это для другого софта нужно что ли? если для постера, то ничего не нужно менять
7make правильно написал
 

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
а вам это для другого софта нужно что ли? если для постера, то ничего не нужно менять
7make правильно написал
Нет, не для другого. Ещё раз - на одной странице n штук id, которые нужно спарсить. Беру их регуляркой через regex, а в этой функции если брать сразу все значения, они сохраняются только в список (оно и понятно, значение-то несколько).

В моём понимании, чтобы сразу же подставить http://vk.com/{Variable.Id} нужно так же парсить страницу регуляркой через regex, взять первое id, сохранить его в переменной {Variable.Id} и сохранить в списке как http://vk.com/{Variable.Id}, затем взять второе id, сохранить его в переменной {Variable.Id} и сохранить в списке как http://vk.com/{Variable.Id} и т.д. Но этот процесс занимает много времени, поэтому и спрашиваю - можно ли реализовать по другому.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
regex в переменную, далее regex .+.*? берёте рандомно или по счётчику, в переменную id
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
зачем вам это в списке? когда можно потом навигейт делать на http://vk.com/{Variable.Id}
 

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
зачем вам это в списке? когда можно потом навигейт делать на http://vk.com/{Variable.Id}
Ну как бы шаблон не для себя, потому задача такая, чтобы на выходе был url_из_входных_данных/id , а я рассматриваю пути решения как это сделать быстрее - обрабатывать до или после. Преимущество постобработки готового файла лучше тем, что будут предварительно удалены дубли, но делается всё равно долго :(
 

rostonix

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

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
почему долго? операции с текстом в ZP выполняются пока вы моргаете
Значит я слишком быстро моргаю :-) Тогда у меня такой вопрос, как лучше организовать, т.е. что будет быстрее работать:
1. Брать id через regex по одному и сохранять в переменную, затем переменную класть в список как url/id - недостаток в том, что на странице много дублей id.
2. Брать все id через regex, сохранять их в промежуточный список, очистить список от дублей и брать по одной строке в переменную, затем переменную класть в список как url/id - показалось, что работает дольше
3. После всего парсинга id отдельной задачей взять список, очистить его от дублей (список сокращается в 10-100 раз) и брать по одной строке в переменную, затем переменную класть в список как url/id - показалось, что работает дольше.
4. ?
 

rostonix

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

выбираю второй вариант
просто два списка
с id и финальными результатми
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 270
Благодарностей
5 854
Баллы
113

iDnx

Client
Регистрация
06.06.2013
Сообщения
129
Благодарностей
104
Баллы
43
  • Спасибо
Реакции: Zamiakulkas

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
Код:
var list = project.Lists["Список"];

for(int i = 0; i < list.Count; i++)
{
    if (!list[i].StartsWith("http://vk.com/")) list[i] = "http://vk.com/" + list[i];
}
Я так понимаю, что это для обработки списка? Т.е., наверное, удобнее парсить в список, удалять его от дублей, обработать этим скриптом и скинуть в основной список. А если http://vk.com/ переменной задать, например, {-Variable.Id-}, как правильно её вставить в данный скрипт?
 
  • Спасибо
Реакции: Remart

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Код:
var list = project.Lists["Список"];
for(int i = 0; i < list.Count; i++)
{
    if (!list[i].StartsWith(project.Variables["имяпеременной"].Value)) list[i] = project.Variables["имяпеременной"].Value + list[i];
}
 
  • Спасибо
Реакции: Zamiakulkas

Zamiakulkas

Client
Регистрация
08.04.2015
Сообщения
34
Благодарностей
3
Баллы
8
Всем спасибо за участие, всё отлично работает!
 

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