- Регистрация
- 23.11.2019
- Сообщения
- 580
- Благодарностей
- 45
- Баллы
- 28
Регулярка в этом случае оч. простая: точка. Либо: \dНужна регулярка что бы число 1990 разделил на
1
9
9
0
а если к примеру число 02 на
Все тоже самое.а если к примеру число 02 на
0
2 ?
в список построчно каждый символ, при регулярке . ноли не берутся в расчет.
нет, ноли тоже нужны.
Оч. странно. Покажите как вы делаете.
там число состоящее из 3 переменныхC#:string number = "02032000"; var lst = project.Lists["numbers"]; foreach(char c in number) lst.Add(c.ToString());
какой то выход есть?@andropovleva Случайно удалились ваши сообщения, прошу прощения.
Вероятно, проблема не в том, что регулярка неправильно работает, а в том, что например макрос {-Profile.BornDay-} возвращает день без лидирующего нуля.
там число состоящее из 3 переменных
string number = project.Variables["PERVAYA"].Value + project.Variables["VTORAYA"].Value + project.Variables["DESYATAYA"].Value;
var lst = project.Lists["numbers"];
foreach(char c in number) lst.Add(c.ToString());
тоже та же проблема "макрос {-Profile.BornDay-} возвращает день без лидирующего нуля. "C#:string number = project.Variables["PERVAYA"].Value + project.Variables["VTORAYA"].Value + project.Variables["DESYATAYA"].Value; var lst = project.Lists["numbers"]; foreach(char c in number) lst.Add(c.ToString());
водишь всех за нос, сразу условие скажи полностьютоже та же проблема "макрос {-Profile.BornDay-} возвращает день без лидирующего нуля. "
string bornday = project.Profile.BornDay.ToString();
if ( bornday.Length <= 1) bornday = "0" + bornday;
string number = bornday + project.Variables["PERVAYA"].Value + project.Variables["VTORAYA"].Value + project.Variables["DESYATAYA"].Value;
var lst = project.Lists["numbers"];
foreach(char c in number) lst.Add(c.ToString());
водишь всех за нос, сразу условие скажи полностью
C#:string number = "0" + project.Profile.BornDay.ToString() + project.Variables["PERVAYA"].Value + project.Variables["VTORAYA"].Value + project.Variables["DESYATAYA"].Value; var lst = project.Lists["numbers"]; foreach(char c in number) lst.Add(c.ToString());
подредактировал, код выше
подредактировал, код выше
получается там не только день, но и месяц может быть в без ноля ?
да именно так, каждый символ в отдельную строчку. Выше был скрин, но его удалили случайно.опиши задачу полностью, тебе нужно взять дату дату рождения из профиля в формате ДеньМесяцГод и положить в список,
где разделителем выступает каждый символ ?
string bornday = project.Profile.BornDay.ToString();
string bornmonth = project.Profile.BornMonth.ToString();
string bornyear = project.Profile.BornYear.ToString();
if ( bornday.Length <= 1) bornday = "0" + bornday;
if ( bornmonth.Length <= 1) bornmonth = "0" + bornmonth;
string number = bornday + bornmonth + bornyear;
var lst = project.Lists["numbers"];
foreach(char c in number) lst.Add(c.ToString());
Ура! Всё получилось, большое спасибо!)C#:string bornday = project.Profile.BornDay.ToString(); string bornmonth = project.Profile.BornMonth.ToString(); string bornyear = project.Profile.BornYear.ToString(); if ( bornday.Length <= 1) bornday = "0" + bornday; if ( bornmonth.Length <= 1) bornmonth = "0" + bornmonth; string number = bornday + bornmonth + bornyear; var lst = project.Lists["numbers"]; foreach(char c in number) lst.Add(c.ToString());
А еще можно вот так (через форматирование):Ура! Всё получилось, большое спасибо!)
string bornday = project.Profile.BornDay.ToString("00");
string bornmonth = project.Profile.BornMonth.ToString("00");
string bornyear = project.Profile.BornYear.ToString();
string number = bornday + bornmonth + bornyear;
var lst = project.Lists["numbers"];
foreach(char c in number) lst.Add(c.ToString());
DateTime.Parse(string.Format(@"{0},{1},{2}", project.Profile.BornDay, project.Profile.BornMonth, project.Profile.BornYear)).ToShortDateString().Where(x=>char.IsDigit(x)).ToList().ForEach(x=>project.Lists["filters"].Add(x.ToString()));