Не поддерживает кубик несколько символов в разделителе, используйте с#Всем привет, давненько не пользовался зенно, а тут необходимо. не разделяет строку на переменные, суть на скрине. Что я делаю не так? Раньше все работало...
просто ничего не происходит
Посмотреть вложение 133579
string[] size = project.Variables["ИмяПеременной"].Value.Split(":@");
string width = size[0];
string height = size[1];
project.Variables["ИмяПеременной"].Value = width;
project.Variables["ИмяПеременной"].Value. = height;
// Получаем строку прокси из зеннопеременной
string proxy = project.Variables["ИмяПеременной"].Value;
// Пример формата: login:pass@ip:port
try
{
string[] parts = proxy.Split('@');
if (parts.Length != 2)
throw new Exception("Неверный формат прокси: отсутствует символ '@'");
string[] credentials = parts[0].Split(':');
string[] address = parts[1].Split(':');
if (credentials.Length != 2 || address.Length != 2)
throw new Exception("Неверный формат логина/пароля или ip/порта");
string login = credentials[0];
string password = credentials[1];
string ip = address[0];
string port = address[1];
// Сохраняем значения в зеннопеременные
project.Variables["Proxy_Login"].Value = login;
project.Variables["Proxy_Password"].Value = password;
project.Variables["Proxy_IP"].Value = ip;
project.Variables["Proxy_Port"].Value = port;
project.SendToLog("Прокси успешно разбит: " + login + ":" + password + "@" + ip + ":" + port,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Default);
}
catch (Exception ex)
{
project.SendToLog("Ошибка при разборе прокси: " + ex.Message,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Red);
throw new Exception("Прокси не разобран. Проверь формат.");
}
Сплит и в шарпе 2 символа не поддерживает, сплит принимает char а ":@ " это уже stringНе поддерживает кубик несколько символов в разделителе, используйте с#
Примерно так:
string[] size = project.Variables["ИмяПеременной"].Value.Split(":@");
string width = size[0];
string height = size[1];
project.Variables["ИмяПеременной"].Value = width;
project.Variables["ИмяПеременной"].Value. = height;
А в вашем случае разбивайте несколько раз раздельно, а не все слитно 2 сплита разных в 1 обьеденили
// Получаем строку прокси из зеннопеременной
string proxy = project.Variables["ИмяПеременной"].Value;
// Пример формата: login:pass@ip:port
try
{
string[] parts = proxy.Split('@');
if (parts.Length != 2)
throw new Exception("Неверный формат прокси: отсутствует символ '@'");
string[] credentials = parts[0].Split(':');
string[] address = parts[1].Split(':');
if (credentials.Length != 2 || address.Length != 2)
throw new Exception("Неверный формат логина/пароля или ip/порта");
string login = credentials[0];
string password = credentials[1];
string ip = address[0];
string port = address[1];
// Сохраняем значения в зеннопеременные
project.Variables["Proxy_Login"].Value = login;
project.Variables["Proxy_Password"].Value = password;
project.Variables["Proxy_IP"].Value = ip;
project.Variables["Proxy_Port"].Value = port;
project.SendToLog("Прокси успешно разбит: " + login + ":" + password + "@" + ip + ":" + port,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Default);
}
catch (Exception ex)
{
project.SendToLog("Ошибка при разборе прокси: " + ex.Message,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Red);
throw new Exception("Прокси не разобран. Проверь формат.");
}
Если конечно не речь как хочет человек одним сплитом - 2 разных сплита разбить, но если сплит состоит из нескольких символов, то все поддерживает.Сплит и в шарпе 2 символа не поддерживает
этот текст был для примера дан, не работает даже если один разделитель!!!Не поддерживает кубик несколько символов в разделителе, используйте с#
Примерно так:
string[] size = project.Variables["ИмяПеременной"].Value.Split(":@");
string width = size[0];
string height = size[1];
project.Variables["ИмяПеременной"].Value = width;
project.Variables["ИмяПеременной"].Value. = height;
А в вашем случае разбивайте несколько раз раздельно, а не все слитно 2 сплита разных в 1 обьеденили
// Получаем строку прокси из зеннопеременной
string proxy = project.Variables["ИмяПеременной"].Value;
// Пример формата: login:pass@ip:port
try
{
string[] parts = proxy.Split('@');
if (parts.Length != 2)
throw new Exception("Неверный формат прокси: отсутствует символ '@'");
string[] credentials = parts[0].Split(':');
string[] address = parts[1].Split(':');
if (credentials.Length != 2 || address.Length != 2)
throw new Exception("Неверный формат логина/пароля или ip/порта");
string login = credentials[0];
string password = credentials[1];
string ip = address[0];
string port = address[1];
// Сохраняем значения в зеннопеременные
project.Variables["Proxy_Login"].Value = login;
project.Variables["Proxy_Password"].Value = password;
project.Variables["Proxy_IP"].Value = ip;
project.Variables["Proxy_Port"].Value = port;
project.SendToLog("Прокси успешно разбит: " + login + ":" + password + "@" + ip + ":" + port,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Default);
}
catch (Exception ex)
{
project.SendToLog("Ошибка при разборе прокси: " + ex.Message,
ZennoLab.InterfacesLibrary.Enums.Log.LogType.Info, true,
ZennoLab.InterfacesLibrary.Enums.Log.LogColor.Red);
throw new Exception("Прокси не разобран. Проверь формат.");
}
не работает потому что сплит в одинарных кавычках прописывается а не в двойныхэтот текст был для примера дан, не работает даже если один разделитель!!!
1. Укажите переменные - которые на скрине не указаныэтот текст был для примера дан, не работает даже если один разделитель!!!
Если конечно не речь как хочет человек одним сплитом - 2 разных сплита разбить, но если сплит состоит из нескольких символов, то все поддерживает.
Завтра покажу, у меня несколько проектов на сплите с нескольких символов уже лет 5)
ну явно не в одном сплитеЗавтра покажу, у меня несколько проектов на сплите с нескольких символов уже лет 5)
Только если туда не передан массив символов типаЗавтра покажу, у меня несколько проектов на сплите с нескольких символов уже лет 5)
var res = "dfsdsdf".Split(new[] { ':', '@' })[0];
немного не понял, вот к примеру текст: test1:test2:test3:test41. Укажите переменные - которые на скрине не указаны
2. Пронумеруйте слева от вставленных переменных - нумерация с 0, и все там работает
3. Справа иконка синего вопроса на скрине, можете кликнуть и почитать как работать с кубиками
....Вот не выдержал, поднялся с кровати....))Только если туда не передан массив символов типа
C#:var res = "dfsdsdf".Split(new[] { ':', '@' })[0];
string[] output = "ПРИМЕР1^^^ПРИМЕР2".Split(new string[] { "^^^" }, StringSplitOptions.None); // Разделяем Split
return output[0];
В данном примере строка будет разбита на 3 куска, отсчет с нуля, снизу надо указать номер куска и переменную куда результат положитьнемного не понял, вот к примеру текст: test1:test2:test3:test4
я выбираю кубик обработка текста, выбираю split выбираю разделитель, нажимаю выполнить и ничего не происходит.
Посмотреть вложение 133582
А что должно произойти если вы не указываете куда и что нужно разбивать?немного не понял, вот к примеру текст: test1:test2:test3:test4
я выбираю кубик обработка текста, выбираю split выбираю разделитель, нажимаю выполнить и ничего не происходит.
Посмотреть вложение 133582
ну вот теперь всё складывается) Век живи век учись, даже мыслей никогда не было туда массив строк пихать, буду знать)....Вот не выдержал, поднялся с кровати....))
C#:string[] output = "ПРИМЕР1^^^ПРИМЕР2".Split(new string[] { "^^^" }, StringSplitOptions.None); // Разделяем Split return output[0];
аааааа, точно, это же имя задать надо переменной!!!!! блин, спасибо))) Вот я пень, за 3 года забыл все напрочь. Я почему-то считал что автоматом разбить должно,)))))))А что должно произойти если вы не указываете куда и что нужно разбивать? И кликайте на знак вопроса, специально сделано что бы инструкцию посмотреть
Ну так не массив символов, а в одном ведь указано, а не как у вас в несколько) Ну зато будете знать что можно использовать в сплит несколько символов сразу, для разбива как одногону вот теперь всё складывается)