繁体   English   中英

文本编辑器(正则表达式?)技巧来解释日期字符串

[英]Text Editor (regex?) trick to interpret a Date String

采取此:20120204235900

这表示:2012 02 04 23:59:00或4 / Feb / 2012 at 23:59:00

好吧,我有成千上万个这样的商品,想将其更改为:例如2012/02/04 23:59:00。

我知道我可以做一个Java程序,但是必须有一些使用文本编辑器的简单方法。

有任何想法吗?

提前致谢。

在Notepad ++中,您可以执行以下操作:

([12]\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)

我在开始时检查1或2是否有一点日期验证,如果不需要,则只需将[12]替换为\\d

并替换为

\1/\2/\3 \4:\5:\6

将“ 20120204235900”转换为“ 2012 02 04 23:59:00”

诀窍是使用\\1 (称为反向引用)访问括号中的子匹配项。 因此,组1是\\2中第二对括号匹配的第一对括号的内容。

有了这个,重新排列子比赛是没有问题的,但是要用02 February替换02 ,就需要更复杂的逻辑。 我认为这在编辑器中是不可能的。

注意:这只是测试以1或2开头的14位数字,因此它不会验证数字序列是否为有效的日期/时间!

我会使用记事本++。

只需使用正则表达式替换是这样的:

([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])([0-9][0-9])

并替换为

\1/\2/\3 \4:\5:\6

您可以使用sed (Stream EDitor),它通常在任何* nix系统上都可用。 此衬板应工作:

sed -e "s/^\([0-9]\{4\}\)\([0-1][0-9]\)\([0-3][0-9]\)\([0-2][0-9]\)\([0-6][0-9]\)\([0-6][0-9]\)/\1\/\2\/\3 \4:\5:\6/g" <filename>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM