Записать переменую в список C#: не работает разделитель

  • Автор темы Автор темы alya_6
  • Дата начала Дата начала

alya_6

Client
Регистрация
27.08.2018
Сообщения
172
Реакции
19
Баллы
18
Здравствуйте. Что-то бьюсь с элементарной задачей.
Есть переменная с такими значениями:
"telefon
mail
ofsayt"

Хочу записать ее на c# в список, но чтобы каждая строчка добавилась в новую строку списка, т.е.
telefon в первую строку
mail во вторую
ofsayt в третью.

Между строками в переменной разделитель \n, проверяла через notepad++.
Пытаюсь записать конструкциями:
Код:
Развернуть Свернуть Копировать
var list = project.Lists["Список"];
string text = project.Variables["kontakty"].Value;
list.Add(text);

но прочитала на форуме, что list.Add записывает в одну строку, так что не подходит.

Еще нашла решение на форуме вроде:
Код:
Развернуть Свернуть Копировать
var list = project.Lists["Список"];
string text = project.Variables["kontakty"].Value;
return string.Join("\n", project.Lists["Список"]);

Крутила разделитель и так и сяк. В списке "Список" ставила и стандартный разделитель Enter, и "Свой Regex" \n и много вариантов. Результат один - записывает все скопом в одну строку.

Заранее спасибо за помощь.
 
Код:
Развернуть Свернуть Копировать
string text = project.Variables["Test"].Value;
string regex = "(?<=\r\n).*|.*(?=\r\n)";
var reg = new System.Text.RegularExpressions.Regex(regex,  System.Text.RegularExpressions.RegexOptions.None);
for (int i = 0; i < reg.Matches(text).Count; i++){
    project.Lists["Test"].Add(reg.Matches(text)[i].ToString());
}
Вот так как-то. Поиграйтесь с регуляркой.
Придумал через регулярку, надеюсь кто-то лучше что-то придумает.
 
  • Спасибо
Реакции: alya_6
Код:
Развернуть Свернуть Копировать
string text = project.Variables["Test"].Value;
string regex = "(?<=\r\n).*|.*(?=\r\n)";
var reg = new System.Text.RegularExpressions.Regex(regex,  System.Text.RegularExpressions.RegexOptions.None);
for (int i = 0; i < reg.Matches(text).Count; i++){
    project.Lists["Test"].Add(reg.Matches(text)[i].ToString());
}
Вот так как-то. Поиграйтесь с регуляркой.
Придумал через регулярку, надеюсь кто-то лучше что-то придумает.
Здравствуйте. Спасибо! А по выполнению кода, получается, должен результат записываться в список Test, верно? Он у меня пустой. Что ставить в настройках списка, какой разделитель?
 
C#:
Развернуть Свернуть Копировать
var text = project.Variables["kontakty"].Value;
FileSystem.FileAppendString(project.Directory + "\\Result.txt", string.Join("\r\n", text), true);

2019-05-05_210216.png
 
Здравствуйте. Спасибо! А по выполнению кода, получается, должен результат записываться в список Test, верно? Он у меня пустой. Что ставить в настройках списка, какой разделитель?
Разделитель не играет роли, так как каждое слово напрямую добавляется в список новой строкой.
Он у вас пустой вовсе? У меня сниппет работает, только добавляет пустую строку.
1.png
P.S. А вам обязательно использовать код? В кубике "добавить текст в список" каждая строка добавляется в отельную строку списка.
P.S.S. По идеи, должна быть команда, которая это делает в коде. Но я пока далек от совершенство в zenno)
 
Последнее редактирование:

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