Как разделить список на две равные части ?

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Добрый всем ! Помогите пожалуйста решить задачку мою.
Что нужно:
Размещаю статьи в сети 5 штук(допустим)
4 статьи размещаю как есть. (через счетчик до 5 дошел)
А в 5-тую, нужно в середину(приблизительно, не принципиально, главное не в начале и конце) статьи вставить кусок текста из списка.
Как мне эту середину получить ?
Спасибо !
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
@kuzenstudio Приложил небольшой пример на кубиках.
 

Вложения

  • Спасибо
Реакции: kuzenstudio и Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
var text = project.Variables["text"].Value;
var newtext = project.Variables["newtext"].Value;
var list = text.Split('\n').ToList();
list.Insert(list.Count/2, newtext);
return string.Join("\n", list);
 
  • Спасибо
Реакции: kuzenstudio и Sergodjan

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Добрый, не один вариант не сработал.
sergodjan66
85350


Alexmd

var text = project.Variables["peremennaya"].Value;
var newtext = project.Variables["new_peremennaya"].Value;
var list = text.Split('\n').ToList();
list.Insert(list.Count/2, newtext);
return string.Join("\n", list);
Зеленая галочка, что отработал без ошибок. Но в project.Variables["new_peremennaya"].Value; пусто. А в лог целиком статья.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
  • Спасибо
Реакции: kuzenstudio

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Проблема не в этом, текст берется не весь. Только часть:
Добрый всем ! Помогите ТУТ ТЕКСТ ДЛЯ ВСТАВКИ ?
Спасибо


85360
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
Добрый, не один вариант не сработал.
sergodjan66
Посмотреть вложение 85350

Alexmd

var text = project.Variables["peremennaya"].Value;
var newtext = project.Variables["new_peremennaya"].Value;
var list = text.Split('\n').ToList();
list.Insert(list.Count/2, newtext);
return string.Join("\n", list);
Зеленая галочка, что отработал без ошибок. Но в project.Variables["new_peremennaya"].Value; пусто. А в лог целиком статья.
Может, надо просто указать, в какую переменную вернуть результат? и newtext - это переменная addtext в Вашем случае
1636714595467.png
прокомментриую строчки, думал, все ясно и без этого
C#:
var text = project.Variables["text"].Value;//исходный текст
var newtext = project.Variables["newtext"].Value;//текст для вставки
var list = text.Split('\n').ToList();
list.Insert(list.Count/2, newtext);
return string.Join("\n", list);//в кубике указать переменную, куда запишется новый текст
 
  • Спасибо
Реакции: Sergodjan и kuzenstudio

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Проблема не в этом, текст берется не весь. Только часть:
Добрый всем ! Помогите ТУТ ТЕКСТ ДЛЯ ВСТАВКИ ?
Спасибо
Пришлите исх. текст текстом, я проверю и смогу тогда предложить решение.
 
  • Спасибо
Реакции: kuzenstudio

kuzenstudio

Client
Регистрация
26.06.2010
Сообщения
139
Благодарностей
28
Баллы
28
Может, надо просто указать, в какую переменную вернуть результат? и newtext - это переменная addtext в Вашем случае
Посмотреть вложение 85364
прокомментриую строчки, думал, все ясно и без этого
C#:
var text = project.Variables["text"].Value;//исходный текст
var newtext = project.Variables["newtext"].Value;//текст для вставки
var list = text.Split('\n').ToList();
list.Insert(list.Count/2, newtext);
return string.Join("\n", list);//в кубике указать переменную, куда запишется новый текст
Все отработало как надо, прошу прощения, туплю. Огромное спасибо !
 

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