【发布时间】:2016-04-27 08:06:12
【问题描述】:
我的报告中有不同的时间格式。我正在尝试标准化格式。目前看到的两个如下。
3. When: 150845Z - 161045Z Jan 16
When: 15 08:45Z - 16 10:45Z Jan 16
我的目标是将上述输入中的数据转换为以下输入
Start date and time 01/15/2016 08:45
End date and time 01/16/2016 10:45
我有多个捕获组和拆分来实现这一点,老实说,它相当大,我认为可以简化。
我可以发布我拥有的每一步代码,但它确实会让这篇文章变得臃肿。 对于开始日期和时间,我执行以下操作
(?s)(?<=^.When:\s)[a-zA-Z0-9]+
对于结束日期和时间,我执行以下操作
When:.+(?<=- )(\w.*)
我真的很想尽可能减少这种情况。我试图实现这个方法Regex for capturing different date formats 但是我对正则表达式真的很陌生,并且将项目拼凑在一起,直到我让它工作。
谢谢
附加信息
我目前必须使用 Nintex Workflows 来转换数据。我想在When:\s 之后开始捕获,然后我可以使用[, :] 删除剩余的空格和冒号。这会将数据保留为我可以操作的格式。
【问题讨论】:
-
您的first regex 不起作用 - 您打算匹配什么?第二个刚刚得到
-之后的部分:你不能把字符串分开吗?你真的不应该只搜索When:,获取它后面的子字符串并与" - "拆分以获得你需要的部分吗? -
这就是我现在正在做的事情,但它工作得并不完全正确。我的目标是进行以下捕获。
Month, Start Date, End Date, Year, Start Time, End Time。我只是不确定如何拆分数据。 -
首先查看this IDEONE demo。分裂好吗?如果不是,您想获得什么确切的输出?然后,检查此regex demo。好点了吗?
-
查看您提供的正则表达式演示。它给了我一个想法。是否可以捕获从
When:之后开始的所有内容,然后删除所有空格和冒号?这将以我可以使用的方式格式化数据。
标签: .net regex replace nintex-workflow