список и регех что не так я делаю

vikas2006

Client
Регистрация
10.05.2019
Сообщения
62
Благодарностей
1
Баллы
8
вот код
IZennoList myspisok = project.Lists["Список 2"];
myspisok.Clear();

var List1 = project.Lists["Список 1"];
var List2 = project.Lists["Список 2"];
string reg2 =@"https://www...)";


lock(SyncObjects.ListSyncer)
{
string proxy = List1[0];
proxy =new Regex(reg2).Match(proxy).Value;
proxy =proxy.Replace("&", String.Empty);
proxy =proxy.Replace("?", String.Empty);

List1.RemoveAt(0);
List2.Add(proxy);
}

но в чем подвох я взял из списка сделал ему регех потом дочистил символы потому что в разных вариатах там то один символ то другой в конце и записал в список 2. Ну не тут то было после регеха одно и тоже первое значение и записывается proxy что было в списке 1. КОроче весь список из одного значения. Что я не так сделал или в чем ошибка. Почему со списками не получается ? Конструктор показывает что все ок регулярка делает свое дело да только в список 2 одно значение первое и дублируется столько сколько в списке записей. Подскажите как или что делать.
 

vikas2006

Client
Регистрация
10.05.2019
Сообщения
62
Благодарностей
1
Баллы
8
Пока никто не дал ответа и совета переделал код увидел некоторые ошибки но он все равно не делает то что надо. Суть то какая взять из списка запись обрезать ее и занести в другой список. Вроде бы банально но че то не так. Упрости и все же не получил результат. Надо мнение специалиста.

IZennoList myspisok = project.Lists["Список 2"];
myspisok.Clear();
string reg2 =@"https://www\.facebook\.com/.*(?=sk=)";
var ss="";
var list= project.Lists["Список 1"];
var list2= project.Lists["Список 2"];

foreach (var i in list)
{
string a =new Regex(reg2).Match(i).Value;

list2.Add(a);
}
 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Пока никто не дал ответа и совета переделал код увидел некоторые ошибки но он все равно не делает то что надо. Суть то какая взять из списка запись обрезать ее и занести в другой список. Вроде бы банально но че то не так. Упрости и все же не получил результат. Надо мнение специалиста.

IZennoList myspisok = project.Lists["Список 2"];
myspisok.Clear();
string reg2 =@"https://www\.facebook\.com/.*(?=sk=)";
var ss="";
var list= project.Lists["Список 1"];
var list2= project.Lists["Список 2"];

foreach (var i in list)
{
string a =new Regex(reg2).Match(i).Value;

list2.Add(a);
}
замени list.RemoveAt(i); на list.RemoveAt(0);
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Друже, https://zennolab.com/discussion/threads/ugrjumye-ljambdy.65387/ Вот тут я отвечал на половину твоего вопроса) Когда не знаешь C# лучше не мудрить))

Проверить компиляцию не смогу до понедельника, но вроде бы я не промахнулся ни с чем.
C#:
var donor = project.Lists["лист донор"];
var acceptor = project.Lists["лист акцептор"];
for(int i=0; i<donor.Count;i++)
{
acceptor[i] = donor[i].Replace("текст который надо заменить","") // меняешь на пустоту.
}
P.S. Есть ещё альтернатива - удалить какое-то количество начальных символов.
А ещё можно делать врде так // acceptor.Add(donor.Replace и так далее) , но опять же компиляцию я проверить не могу.
Но если не докапываться к исполнению - должно помочь.
 
  • Спасибо
Реакции: vikas2006

vikas2006

Client
Регистрация
10.05.2019
Сообщения
62
Благодарностей
1
Баллы
8
TwistDanceR спасибо за ответ. Смотрел тоже про ЛЯМБДЫ но мне тоже туго логика их входит.
 

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