Здравствуйте люди добрые. Прошу помогите пожалуйста мне кто может. Мне необходимо узнать как пишется скрипт-условие - в зависимости на какой символ заканчивается значение такой-то переменной(пусть будет "Pars"), выполняется определенное действие, в моем случае должно печататься значение из другой соответсвующей этому символу переменной. Т.е. если значение переменной "Pars" заканчивается символом "b", то печатается-выводится (или выводится в другую переменную) на экран значение из переменной 1, если заканчивается на "c" то выводится значение из переменной 2, если на "d" то из 3. А если значение заканчивается на "a" то происходит удаление последнего символа из переменной "pars". Имеется в виду что переменные 1,2,3 заготовлены мной заранее. Прошу пожалуйста, напишите пример написания скрипта по моему вышеизложенному вопросу, я просто вообще деревянный новичек и синтаксиса, т.е. правильного написания кода не знаю, поэтому в качестве подсказки нужен именно пример написания.
На другом форуме подсказали код (+ один отзывчивый, порядочный фрилансер, помог разобраться, как прописывается в код значение моей переменной).
Итак пока нашлось вот такое решение:
string text = "какой-то текст";
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
// делаем одно
}
else if(lastChar== 'b')
{
// делаем другое
}
его мне подправили т.е. вместо "какой-то текст" нужно было ввести значение моей переменной, получилось:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
// делаем одно
}
else if(lastChar == 'b')
{
// делаем другое
}
где "pars" имя моей переменной, значение которой я предварительно спарсиваю с последнего сообщения на странице интернет ресурса. Как мне теперь прописать действие(в строку после первого условия), чтобы из моей переменной "pars" если она заканчивается на символ "a", удалился последний символ, и чтобы теперь значение переменной "pars" стало к примеру не Ivanova, а Ivanov? И как верно мне написать второе действие, чтобы при выполнении второго условия записывалось значение из переменной "1"(эта переменная заранее мной заготовлена) в переменную "output", анологичным образом уже пропишется третье действие, т.е. если значение переменной "pars" заканчивается на символ "с", то записывается значение из переменной "2" в переменуую "output".
Где то нашел про удаление:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
var strDescription = project.Variables["pars"].Value;
strDescription = strDescription.Substring(0,(strDescription.Length - 1));
}
ставлю галочку выводить результат в переменную, в качестве переменной выбираю "pars" (пробывал и в новую переменную записывать, результат тот же), значение переменной "pars" меняется с "Ivanova" на "ok", а нужно чтобы было "Ivanov".
также пробывал такое решение:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
var strDescription = project.Variables["pars"].Value;
strDescription = strDescription.Remove((strDescription.Length - 1));
}
результат к сожалению аналогичный, значение переменной "pars" меняется c "Ivanova" меняется на "ok".
И такое:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
string text = project.ExecuteMacro(project.Variables["pars"].Value);
project.Variables["pars"].Value = Macros.TextProcessing.Replace(text, @"(\S|\s)(?=$)", "", "Regex", "First");
}
выдает сообщение об ошибке:
Компиляция кода Ошибка в действии "CS0136" "Невозможно объявить локальную переменную с именем "text" в этой области действия, так как она придаст другое значение "text", которая уже используется в области действия "родительский или текущий" для обозначения чего-то другого". [Строка: 6; Cтолбец: 8]
Пожалуйста не судите строго меня неумеху, неграмотного, а кто может помогите. Я что смог нагуглил, но все тщетно.
На другом форуме подсказали код (+ один отзывчивый, порядочный фрилансер, помог разобраться, как прописывается в код значение моей переменной).
Итак пока нашлось вот такое решение:
string text = "какой-то текст";
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
// делаем одно
}
else if(lastChar== 'b')
{
// делаем другое
}
его мне подправили т.е. вместо "какой-то текст" нужно было ввести значение моей переменной, получилось:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
// делаем одно
}
else if(lastChar == 'b')
{
// делаем другое
}
где "pars" имя моей переменной, значение которой я предварительно спарсиваю с последнего сообщения на странице интернет ресурса. Как мне теперь прописать действие(в строку после первого условия), чтобы из моей переменной "pars" если она заканчивается на символ "a", удалился последний символ, и чтобы теперь значение переменной "pars" стало к примеру не Ivanova, а Ivanov? И как верно мне написать второе действие, чтобы при выполнении второго условия записывалось значение из переменной "1"(эта переменная заранее мной заготовлена) в переменную "output", анологичным образом уже пропишется третье действие, т.е. если значение переменной "pars" заканчивается на символ "с", то записывается значение из переменной "2" в переменуую "output".
Где то нашел про удаление:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
var strDescription = project.Variables["pars"].Value;
strDescription = strDescription.Substring(0,(strDescription.Length - 1));
}
ставлю галочку выводить результат в переменную, в качестве переменной выбираю "pars" (пробывал и в новую переменную записывать, результат тот же), значение переменной "pars" меняется с "Ivanova" на "ok", а нужно чтобы было "Ivanov".
также пробывал такое решение:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
var strDescription = project.Variables["pars"].Value;
strDescription = strDescription.Remove((strDescription.Length - 1));
}
результат к сожалению аналогичный, значение переменной "pars" меняется c "Ivanova" меняется на "ok".
И такое:
string text = project.Variables["pars"].Value;
char lastChar = text[text.Length - 1]; // последний символ "a"
if (lastChar == 'a')
{
string text = project.ExecuteMacro(project.Variables["pars"].Value);
project.Variables["pars"].Value = Macros.TextProcessing.Replace(text, @"(\S|\s)(?=$)", "", "Regex", "First");
}
выдает сообщение об ошибке:
Компиляция кода Ошибка в действии "CS0136" "Невозможно объявить локальную переменную с именем "text" в этой области действия, так как она придаст другое значение "text", которая уже используется в области действия "родительский или текущий" для обозначения чего-то другого". [Строка: 6; Cтолбец: 8]
Пожалуйста не судите строго меня неумеху, неграмотного, а кто может помогите. Я что смог нагуглил, но все тщетно.