Проверка даты RPA (blueprism) - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь проверить дату, которая исходит из таблицы Excel, формат должен быть в дд / мм / гггг, я пытался с шаблоном регулярных выражений [0-9] {2} / [0-9] {2} /[0-9] {4}, но это не будет работать с датой из одной цифры, и мы, поскольку мы не можем добавить 0 при запуске в таблице Excel, этот шаблон не работает.(это для инструмента blueprism, у которого есть действие для сопоставления регулярному выражению)

Ответы [ 3 ]

0 голосов
/ 18 июля 2018

Поскольку вы упоминаете, что работаете с BluePrism, уверены ли вы, что вам действительно нужен Regex для проверки дат?Поскольку в BP есть встроенная функция для вызова, которая вызывается непосредственно на этапе Calc - проверьте следующий пример (вы можете увидеть выражение выбранного этапа Calc на верхней панели выражений).

Функция, используемая для проверки дат: IsDate([Some date as string])результат сохраняется в элементе данных Flag.

enter image description here После проверки вы можете использовать этот элемент данных Flag в блоке Decision и делать все, что считаете нужным, если датане является фактической датой.

Примечание: конечно, если вы работаете со списками / таблицами данных на этапе кода, а не перебираете коллекцию в макете процесса, вам нужно что-то еще, но этоможет быть еще полезно.

На этапе кода я, вероятно, просто использовал бы метод DateTime.Parse(String), который может автоматически преобразовывать дату в виде строки в экземпляр объекта DateTime;пример:

' DateTime.Parse throws an Exception if parsing failed.
Dim valid As Boolean = False
Try
    Dim d = DateTime.Parse(First_Date)
    valid = True
Catch e As Exception
    valid = False
End Try

Подробнее о разборе дат с использованием DateTime.Parse на MSDN: https://msdn.microsoft.com/en-us/library/1k1skd40(v=vs.110).aspx

Здесь также есть хороший пост о разборе дат: https://stackoverflow.com/a/18465222/7439802

0 голосов
/ 02 ноября 2018

В синей призме вы можете использовать

FormatDate(Now(), FormatOfDate)

. Для сравнения двух дат сначала необходимо преобразовать («FormatDate») в тот же формат, а затем сравнить.

Для опции «FormatDate»Вы можете обратиться к Справке Голубой призмы и найти dateadd -> выберите Расчет и решение

0 голосов
/ 28 мая 2018

Чтобы обеспечить необходимую вам устойчивость, вы должны принять 1 или 2 цифры для dd и mm:

[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}
...