Взять случайную строку с регулярным выражением

Prena

Новичок
Регистрация
26.11.2017
Сообщения
29
Благодарностей
1
Баллы
3
Добрый день, помогите пожалуйста, есть список: слово1:слово2:слово3:слово4
необходимо взять строку с файла, что бы содержалось например {-Variable.слово2-} но берет первую.

А как взять случайную строку с {-Variable.слово2-} с удалением?
В операциях над списком есть или один или второй вариант, а мне нужен объединенный, возможно есть какой-то вариант через c# или еще как-то?
 

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Добрый день, помогите пожалуйста, есть список: слово1:слово2:слово3:слово4
необходимо взять строку с файла, что бы содержалось например {-Variable.слово2-} но берет первую.

А как взять случайную строку с {-Variable.слово2-} с удалением?
В операциях над списком есть или один или второй вариант, а мне нужен объединенный, возможно есть какой-то вариант через c# или еще как-то?
слово1:слово2:слово3:слово4 - это не список, а строка.

C#:
List<string> qwe = project.Variables["test"].Value.Split(new[] {":"},StringSplitOptions.None).ToList(); // объявляем лист qwe и кладем в него вхождения, перечисленные через знак ":" из переменной "test" проекта зенно
//return qwe.Count; - вернет количество элементов в листе (4)
//return qwe[0]; - вернет слово1
//return qwe[1]; - вернет слово2
//return qwe[2]; - вернет слово3
//return qwe[3]; - вернет слово4

Random rnd = new Random();
//return qwe[rnd.Next(0,qwe.Count)]; - вернет рандомное слово из предложенной последовательности (от 0 до 4 (qwe.count =4))

project.Variables["Слово1"].Value = qwe[0];
project.Variables["Слово2"].Value = qwe[1];
project.Variables["Слово3"].Value = qwe[2];
project.Variables["Слово4"].Value = qwe[3];

//раскладывает лист qwe в переменные проекта зенно , Работает если количество элементов в qwe не больше 4. Будет меньше - выдаст ошибку. Больше - ошибку не выдаст, но не все результаты получишь.
Если нужно работать со списком проекта зенно - тогда перед предыдущим скриптом объявляешь:
Код:
var list = project.Lists["Имя_листа"];
string item = list[0]; // забирает первый элемент листа

//Тогда в предыдущем коде, в объявлении листа qwe вместо project.Variables["test"].Value нужно подставить item.
 
Последнее редактирование:
  • Спасибо
Реакции: Yuriy Zymlex и Prena

Prena

Новичок
Регистрация
26.11.2017
Сообщения
29
Благодарностей
1
Баллы
3
Список
сайт1:емаил1:пас1:слово4
сайт2:емаил1:пас1:слово4
сайт1:емаил2:пас2:слово4
сайт2:емаил2:пас2:слово4

Вот если как на фото он берет подряд строки, а мне надо что бы он брал каждый раз случайную.
Может в строке где {-Profile.Email-} что-то какой-то рендом прописать?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 630
Благодарностей
8 768
Баллы
113
Список
сайт1:емаил1:пас1:слово4
сайт2:емаил1:пас1:слово4
сайт1:емаил2:пас2:слово4
сайт2:емаил2:пас2:слово4

Вот если как на фото он берет подряд строки, а мне надо что бы он брал каждый раз случайную.
Может в строке где {-Profile.Email-} что-то какой-то рендом прописать?
Можно таким образом:

44868


PS: Большая просьба, вставляйте скриншоты прямо в пост (как я сейчас сделал), без ссылок, так намного удобнее, скрины видны сразу и в сл. удаления скриншотов с сервиса, они не пропадут с форума.
 

Prena

Новичок
Регистрация
26.11.2017
Сообщения
29
Благодарностей
1
Баллы
3
Спасибо вроде бы то что надо!
 
  • Спасибо
Реакции: Sergodjan

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Спасибо вроде бы то что надо!
Я очень полюбил C#. Можно ещё вот так:

C#:
var list = project.Lists["Имя_листа"];
Random rnd = new Random();
string item = list[rnd.Next(0,list.Count())]; // забирает Рандомную строку из указанного списка

project.Variables["имя_переменной"].Value = item; //кладёт эту строку в переменную проекта.
Дальнейшие обработки - как по накатанной, вверху написал.
 
  • Спасибо
Реакции: Prena и Sergodjan

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