Чистка списка. Удалить данные из всех строк после символа

ErikMoor

Client
Регистрация
24.03.2016
Сообщения
121
Благодарностей
22
Баллы
18
Добрый день
Помогите пожалуйста разобраться с поставленной задачей

Есть список List_in. У этого списка нужно удалить текст, в каждой строке, после символов : ; |
Содержание списка List_in:
1line:dfg87hkh
2line:dfg84hkh
3line;dfg8tykh
4line|dfg8lljkkh
5line

Результат сохранить в тот же список или другой к примеру Result
На выходе список Result:
1line
2line
3line
4line
5line

Пробую для начала с этим сниппетом разобраться, но что то не выходит:


C#:
// получаем список, в котором будем искать
var sourceList = project.Lists["List_in"];
 
 // Регулярное выражение по поиску чисел
var parserRegex = new Regex(":.*?");
 
lock(ZennoHelpers.Locker.CustomListSyncer)
{
    // Пробегаемся по списку
    for(int i=0; i < sourceList.Count; i++)
    {
        // Если элемент соответствует регулярному выражению
        if (parserRegex.IsMatch(sourceList[i]))
        {
            // Заменяем текущий элемент на REPLACED
            sourceList[i]= "REPLACED";
        }
    }
}
Выдает вот эту ошибку:

Компиляция кода Ошибка в действии "CS0185" "'method group' is not a reference type as required by the lock statement". [Строка: 7; Cтолбец: 6]
 

slavyn8213

Client
Регистрация
28.10.2018
Сообщения
173
Благодарностей
39
Баллы
28
может проще Split ?
 
  • Спасибо
Реакции: ErikMoor и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 468
Благодарностей
8 689
Баллы
113
@ErikMoor Объединить список в переменную кубиком "Операции над списком", затем с помощью "Обработка текста - Замена" очистить регуляркой (:|;|\|).* и далее вернуть данные в список, можно также через кубик "Обработка текста - В список".

93463
 
Последнее редактирование:
  • Спасибо
Реакции: ErikMoor и slavyn8213

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
Добрый день
Помогите пожалуйста разобраться с поставленной задачей

Есть список List_in. У этого списка нужно удалить текст, в каждой строке, после символов : ; |
Содержание списка List_in:
1line:dfg87hkh
2line:dfg84hkh
3line;dfg8tykh
4line|dfg8lljkkh
5line

Результат сохранить в тот же список или другой к примеру Result
На выходе список Result:
1line
2line
3line
4line
5line

Пробую для начала с этим сниппетом разобраться, но что то не выходит:


C#:
// получаем список, в котором будем искать
var sourceList = project.Lists["List_in"];

// Регулярное выражение по поиску чисел
var parserRegex = new Regex(":.*?");

lock(ZennoHelpers.Locker.CustomListSyncer)
{
    // Пробегаемся по списку
    for(int i=0; i < sourceList.Count; i++)
    {
        // Если элемент соответствует регулярному выражению
        if (parserRegex.IsMatch(sourceList[i]))
        {
            // Заменяем текущий элемент на REPLACED
            sourceList[i]= "REPLACED";
        }
    }
}
Выдает вот эту ошибку:
C#:
            var InpulList = project.Lists["List_in"];
            var OutpuutList = project.Lists["Output"];

            foreach (var item in InpulList)
            {
                OutpuutList.Add(item.Split(':', ';', '|')[0]);
            }
 
Последнее редактирование:

ErikMoor

Client
Регистрация
24.03.2016
Сообщения
121
Благодарностей
22
Баллы
18
C#:
            var InpulList = project.Lists["List_in"];
            var OutpuutList = project.Lists["Output"];

            foreach (var item in List_in)
            {
                OutpuutList.Add(item.Split(':', ';', '|')[0]);
            }
Спасибо всем за ответы.
В этом случае кубик почему то не работает
Выдает ошибку

Компиляция кода Ошибка в действии "CS0103" "The name 'List_in' does not exist in the current context". [Строка: 4; Cтолбец: 34]
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
Спасибо всем за ответы.
В этом случае кубик почему то не работает
Выдает ошибку
А, с названием немного напутал. Вот так пробуй

C#:
            var InpulList = project.Lists["List_in"];
            var OutpuutList = project.Lists["Output"];

            foreach (var item in InpulList)
            {
                OutpuutList.Add(item.Split(':', ';', '|')[0]);
            }
 
  • Спасибо
Реакции: djaga

ErikMoor

Client
Регистрация
24.03.2016
Сообщения
121
Благодарностей
22
Баллы
18

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 007
Благодарностей
538
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: ErikMoor

ErikMoor

Client
Регистрация
24.03.2016
Сообщения
121
Благодарностей
22
Баллы
18

ErikMoor

Client
Регистрация
24.03.2016
Сообщения
121
Благодарностей
22
Баллы
18
А, с названием немного напутал. Вот так пробуй

C#:
            var InpulList = project.Lists["List_in"];
            var OutpuutList = project.Lists["Output"];

            foreach (var item in InpulList)
            {
                OutpuutList.Add(item.Split(':', ';', '|')[0]);
            }

Как удалить из списка из всех строк только до символа, к примеру @
К примеру список:
[email protected]
[email protected]
[email protected]


На выходе получаем:

mail.com
gmail.com
true.com


За ранее спасибо
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 468
Благодарностей
8 689
Баллы
113
  • Спасибо
Реакции: ErikMoor

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