[英]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.