Как массово в списке удалить текст после?

igzdizain

Client
Регистрация
16.05.2015
Сообщения
495
Благодарностей
15
Баллы
18
122465915-shawfwefuya&s=729ff220e997erber9a8439641f9d537be651
1224259630-adrqwqwoitforexer&s=729ff220rebere9979a8439641f9d537be651
1224263879-amafefewsm08&s=729ff220e9979a84erer39641f9d537be651
121262004-anafffawefb-amber&s=729ff220e9erbr979a8439641f9d537be651
1250133916-apoefewn121st&s=729ff220e9979a84396ertbrt41f9d537be651

Вот такие ссылки выходят в списке, нужно одним экшном сделать так чтобы они выглядели вот так. Как это сделать?

122465915-shawfwefuya
1224259630-adrqwqwoitforexer
1224263879-amafefewsm08
121262004-anafffawefb-amber
1250133916-apoefewn121st
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 419
Баллы
113

meriin

Client
Регистрация
30.01.2020
Сообщения
58
Благодарностей
56
Баллы
18
122465915-shawfwefuya&s=729ff220e997erber9a8439641f9d537be651
1224259630-adrqwqwoitforexer&s=729ff220rebere9979a8439641f9d537be651
1224263879-amafefewsm08&s=729ff220e9979a84erer39641f9d537be651
121262004-anafffawefb-amber&s=729ff220e9erbr979a8439641f9d537be651
1250133916-apoefewn121st&s=729ff220e9979a84396ertbrt41f9d537be651

Вот такие ссылки выходят в списке, нужно одним экшном сделать так чтобы они выглядели вот так. Как это сделать?

122465915-shawfwefuya
1224259630-adrqwqwoitforexer
1224263879-amafefewsm08
121262004-anafffawefb-amber
1250133916-apoefewn121st
регулярка - (?=\d).*(?=&)
C#:
// Текст для обработки
string text = project.ExecuteMacro(project.Variables["tex"].Value);// Текст из переменной
var errorIfEmpty = false;
var regexGroups = Macros.TextProcessing.Regex(text, @"(?=\d).*(?=&)");
if (regexGroups.Count == 0)
{
    if (errorIfEmpty) throw new Exception();
}
else
{
    project.Lists["Список 2"].AddRange(regexGroups.Select(g => g.FirstOrDefault()));// Список с результатом
}
 
  • Спасибо
Реакции: igzdizain

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 419
Баллы
113
ну проще же без второго списка, обычным for'ом просто добавляя в конец
C#:
string text = null;
int n = list.Count;
var list = project.Lists["spisok"];
for(int i=0; i<n;i++)
{
    text = list[i];
    text = Macros.TextProcessing.Regex(text, @"(?=\d).*(?=&)");
    list.Add(text);
}
 
  • Спасибо
Реакции: igzdizain

igzdizain

Client
Регистрация
16.05.2015
Сообщения
495
Благодарностей
15
Баллы
18
Спасибо, да я приспособился просто зациклив регекс прогнал из одного списка в дргой все стркию Много времени не заняло
 

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