Обработка переменных

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Привет всем,
как взять текст из несколько переменных если он там есть и вставить в переменную XY с разделителем | ??

Eсть идея у кого?
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 117
Баллы
113
Привет всем,
как взять текст из несколько переменных если он там есть и вставить в переменную XY с разделителем | ??

Eсть идея у кого?
Если правильно понял задачу, то так:

104777


104778


Либо тоже самое с помощью еще одного кубика:

104779
 

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Если правильно понял задачу, то так:

Посмотреть вложение 104777

Посмотреть вложение 104778

Либо тоже самое с помощью еще одного кубика:

Посмотреть вложение 104779
да, вы меня правильно поняли, благодарю за решение. Но есть одно но:

Eсли в некоторых переменных отсутствует текст то получаю в "res" такой результат:
text1 | | | text5
или
| text2 | text3 |

а должно так:
text1 | text5
text2 | text3
 

username666

Client
Регистрация
20.03.2020
Сообщения
211
Благодарностей
89
Баллы
28
Как вариант можно закинуть в список, удалить пустые строки и объединить через | , так же если нужно всего 2 строки, то считать кол-во строк и удалять ненужное по номерам используя счетчик.
104849
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 781
Благодарностей
1 448
Баллы
113
да, вы меня правильно поняли, благодарю за решение. Но есть одно но:

Eсли в некоторых переменных отсутствует текст то получаю в "res" такой результат:
text1 | | | text5
или
| text2 | text3 |

а должно так:
text1 | text5
text2 | text3

C#:
if(project.Variables["text_1"].Value != String.Empty && project.Variables["text_2"].Value != String.Empty && project.Variables["text_3"].Value != String.Empty)
{
    project.Variables["result"].Value = $"{project.Variables["text_1"].Value}|{project.Variables["text_2"].Value}|{project.Variables["text_3"].Value}";
    return project.Variables["result"].Value;
}
throw new Exception("какая то из переменных text_1 или text_2 или text_3 пустая!");

или вот еще вариант

C#:
if(project.Variables["text_1"].Value == String.Empty) throw new Exception("Переменная text_1 пустая!");
if(project.Variables["text_2"].Value == String.Empty) throw new Exception("Переменная text_2 пустая!");
if(project.Variables["text_3"].Value == String.Empty) throw new Exception("Переменная text_3 пустая!");
project.Variables["result"].Value = $"{project.Variables["text_1"].Value}|{project.Variables["text_2"].Value}|{project.Variables["text_3"].Value}";
return project.Variables["result"].Value;





 
Последнее редактирование:

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
Как вариант можно закинуть в список, удалить пустые строки и объединить через | , так же если нужно всего 2 строки, то считать кол-во строк и удалять ненужное по номерам используя счетчик.Посмотреть вложение 104849

Благодарю за ваш вариант/решение. Перед вашим вариантом мне нужно удалить строки не содержат текст.
Но после этого действия удаляются все строки а не только под номером 1.

105195
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 526
Благодарностей
1 323
Баллы
113
Благодарю за ваш вариант/решение. Перед вашим вариантом мне нужно удалить строки не содержат текст.
Но после этого действия удаляются все строки а не только под номером 1.

Посмотреть вложение 105195
Удалить строки содержащие только пробельные символы.
 
  • Спасибо
Реакции: Lextor

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 237
Благодарностей
573
Баллы
113
Благодарю за ваш вариант/решение. Перед вашим вариантом мне нужно удалить строки не содержат текст.
Но после этого действия удаляются все строки а не только под номером 1.

Посмотреть вложение 105195
Через c# перебрать список с конца и удалить все строки, являющиеся пустыми. Позднее скину код, если не получится.
 

username666

Client
Регистрация
20.03.2020
Сообщения
211
Благодарностей
89
Баллы
28
Благодарю за ваш вариант/решение. Перед вашим вариантом мне нужно удалить строки не содержат текст.
Но после этого действия удаляются все строки а не только под номером 1.

Посмотреть вложение 105195
Чуть выше уже написали как удалить. Оставлю скрин.
105198
 
  • Спасибо
Реакции: Lextor

Lextor

Client
Регистрация
19.06.2020
Сообщения
172
Благодарностей
19
Баллы
18
C#:
if(project.Variables["text_1"].Value != String.Empty && project.Variables["text_2"].Value != String.Empty && project.Variables["text_3"].Value != String.Empty)
{
    project.Variables["result"].Value = $"{project.Variables["text_1"].Value}|{project.Variables["text_2"].Value}|{project.Variables["text_3"].Value}";
    return project.Variables["result"].Value;
}
throw new Exception("какая то из переменных text_1 или text_2 или text_3 пустая!");

или вот еще вариант

C#:
if(project.Variables["text_1"].Value == String.Empty) throw new Exception("Переменная text_1 пустая!");
if(project.Variables["text_2"].Value == String.Empty) throw new Exception("Переменная text_2 пустая!");
if(project.Variables["text_3"].Value == String.Empty) throw new Exception("Переменная text_3 пустая!");
project.Variables["result"].Value = $"{project.Variables["text_1"].Value}|{project.Variables["text_2"].Value}|{project.Variables["text_3"].Value}";
return project.Variables["result"].Value;






Благодарю за ваш вариант/решение. Есть проблема. Пробел отсутствует и код работает только если все три переменные содержат текст.
 

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