- Регистрация
- 27.12.2016
- Сообщения
- 289
- Благодарностей
- 404
- Баллы
- 63
Доброго дня!
Есть таблица, в одном из столбцов которой собраны даты.
Даты могут быть в формате datetime h.M.yyyy, а могут быть без года, т.е. уже как бы и не в формате datetime.
Нужно найти даты, соответствующие текущему дню-месяцу, т.е., если говорить про сегодня то 21.1.
Пробовал искать через Contain, однако в выборку, помимо нужных, попадают еще и 21.10, и 21.11 и 21.12, что не есть хорошо.
Открыл «Конструктор регулярных выражений», подобрал регулярку 21\.1[^\d]\.* — все пучком, находит только нужные строки, но...
В PM регулярка не срабатывает и все. В конструкторе работает, в notepad++ работает, а в PM — болт. Ищу так:
Буду очень признателен за подсказку.
Есть таблица, в одном из столбцов которой собраны даты.
Даты могут быть в формате datetime h.M.yyyy, а могут быть без года, т.е. уже как бы и не в формате datetime.
Нужно найти даты, соответствующие текущему дню-месяцу, т.е., если говорить про сегодня то 21.1.
Пробовал искать через Contain, однако в выборку, помимо нужных, попадают еще и 21.10, и 21.11 и 21.12, что не есть хорошо.
Открыл «Конструктор регулярных выражений», подобрал регулярку 21\.1[^\d]\.* — все пучком, находит только нужные строки, но...
В PM регулярка не срабатывает и все. В конструкторе работает, в notepad++ работает, а в PM — болт. Ищу так:
C#:
var source = project.Tables["source"];//входная таблица
var dest = project.Tables["dest"];//выходная таблица
Regex regex = new Regex(@"21\.1[^\d]\.*");//регулярка
for (int i=0; i<source.RowCount; i++)
{
string cell = source.GetCell(3, i);
if(regex.IsMatch(cell))
{
dest.AddRow(source.GetRow(i).ToArray());
}
}