Как преобразовать весь список по регулярке?

[Pacman]

Client
Регистрация
29.05.2017
Сообщения
279
Благодарностей
168
Баллы
43
Доброго времени суток форумчане, помогите решить следующую задачу.

Получаю список файлов через "Получить список файлов" и заношу в список.
Далее мне нужно по регулярке преобразовать список, то есть оставить только нужные данные в этом списке соответствующие заданному регулярному выражению.
Как это сделать без костылей?

В операциях над списком таких функций нет. Можно конечно получить количество строк, каждую строку обрезать по регулярке, и добавить в новый список. Но можно ли сделать это по нормальному и без лишних движений?

Как преобразовать список по регулярному выражению?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 595
Баллы
113
Можно конечно получить количество строк, каждую строку обрезать по регулярке, и добавить в новый список.
новый список не нужен. перезаписывай строки в текущем
 

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
Через поиск и замену в списке, С# сниппет

Код:
var list_data = project.Lists["Data"];
var regular = @"<.*?>";
for (int i=0; i < list_data.Count; i++)
{
list_data[i] = System.Text.RegularExpressions.Regex.Replace(list_data[i], regular, "");
}
 
  • Спасибо
Реакции: [Pacman]

[Pacman]

Client
Регистрация
29.05.2017
Сообщения
279
Благодарностей
168
Баллы
43
Через поиск и замену в списке, С# сниппет

Код:
var list_data = project.Lists["Data"];
var regular = @"<.*?>";
for (int i=0; i < list_data.Count; i++)
{
list_data[i] = System.Text.RegularExpressions.Regex.Replace(list_data[i], regular, "");
}
Благодарю. Годно. Но работает точно да наоборот.

Исходная строка :
C:\Users\Desktop\проект\zp\123.rgg

Получается:
C:\Users\Desktop\проект\zp\.rgg

Вместо:
123
То есть очищается все кроме того что выбрано в регулярном выражении. Что нужно подправить в спиннете что бы было точно да наоборот.
 

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
Благодарю. Годно. Но работает точно да наоборот.

Исходная строка :
C:\Users\Desktop\проект\zp\123.rgg

Получается:
C:\Users\Desktop\проект\zp\.rgg

Вместо:
123
То есть очищается все кроме того что выбрано в регулярном выражении. Что нужно подправить в спиннете что бы было точно да наоборот.
Вам имя файла нужно оставить?
 

[Pacman]

Client
Регистрация
29.05.2017
Сообщения
279
Благодарностей
168
Баллы
43

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
Прогоните 2 раза, с двумя регулярками. Или ещё один цикл, внизу, или тот же кубик только с другой регуляркой.
 
  • Спасибо
Реакции: [Pacman]

[Pacman]

Client
Регистрация
29.05.2017
Сообщения
279
Благодарностей
168
Баллы
43
Благодарю. Вопрос решился подставив 2 регулярных выражения соединенных между собой. (регулярное1)|(регулярное2)
Но конечно решился не полностью. так как при нахождение лишних файлов в каталоге они тоже записываются в список, тк регулярное 2 игрнорируется(

То есть:
Исходная строка :
C:\Users\Desktop\проект\zp\123.rgg
C:\Users\Desktop\проект\zp\файл.jpg

Получается:
123
файл

Нужно:
123
 
Последнее редактирование:

Санёк

Client
Регистрация
30.08.2013
Сообщения
325
Благодарностей
111
Баллы
43
Благодарю. Вопрос решился подставив 2 регулярных выражения соединенных между собой. (регулярное1)|(регулярное2)
Но конечно решился не полностью. так как при нахождение лишних файлов в каталоге они тоже записываются в список, тк регулярное 2 игрнорируется(

То есть:
Исходная строка :
C:\Users\Desktop\проект\zp\123.rgg
C:\Users\Desktop\проект\zp\файл.jpg

Получается:
123
файл

Нужно:
123
Лишнее можно удалить через удаление строкси по определенному значению, тексту или регулярному выражению.
 

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