【问题标题】:Blue Prism string format / validationBlue Prism 字符串格式/验证
【发布时间】:2018-04-10 15:40:30
【问题描述】:

我有一个问题,我需要对一些要放入 Excel 报告的数据进行一些异常处理。 DataItem“个人识别码”可能无效;它必须始终为 11 个字符,其格式应为 DDMMYYSNNNX, 其中 DD = 日,MM = 月,YY = 年,S = “A”或“-”,NNN = 数字,X = 字母或数字 示例:310199-111K、011206A2222

我想在从队列中处理它之前以某种方式检查/验证格式(这样我就可以抛出业务异常)。有没有一些聪明的方法来设置它?我在想也许是一个正则表达式结合一些东西?

编辑:

这是我的流程页面在解决方案中的样子:

【问题讨论】:

    标签: blueprism


    【解决方案1】:

    要验证这种输入,我会进行两次验证:

    a) 正则表达式检查它是否与预期的格式匹配

    示例正则表达式可能是这个:

    \d{6}[A-]\d{3}[\d,a-z,A-Z]
    

    或更严格的一个:

    ^\d{6}[A-]\d{3}[\d,a-z,A-Z]$
    

    B) 检查字符串开头的日期是否有效(例如,不是 2 月 30 日或 25 月 95 日)。

    我会尝试将计算阶段 MakeDate() 函数与 Left() 和 Mid() 函数结合使用。如果日期不正确,则 BluePrism 将抛出错误“无法将提供的 3 个参数转换为日期”

    【讨论】:

    • 帮助很大,我在计算阶段使用了 ^\d{6}[A-]\d{3}[\d,a-z,A-Z]$,然后在决策阶段查看如果匹配。然后我在多计算阶段验证日期并将其存储在 3 个数据项中。然后我用这个“IsDate([Year] & "-" & [Month] & "-" & [Day])" 在决策阶段验证存储的数据项以抛出业务异常或继续:)
    • 用流程页面更新了我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多