Java Regex如何在特定位置将数字粘贴到字符串中

时间:2014-02-20 20:18:14

标签: java regex

我正在使用一个允许一些java代码的工具,但它有if语句的特殊语法和一些其他方法,包括日期转换方法。 由于这个限制,我必须使用RegEx来解决我的问题。

日期格式应为MMddyyyy(2014年1月1日为01012014)。问题是它缺少0,所以它看起来像“112014”而不是“01012014”。

有几种可能的日期类型需要注意。

112014   (Jan 1 2014)
1012014  (Jan 1 2014)

[编辑:这第一个案例很奇怪。有时他们将这一天作为一个数字,有时他们把它作为两位数。所以2014年1月1日是112014或1012014]

1102014  (Jan 10 2014)
10012014  (Oct 1 2014)
10102014 (Oct 10 2014)

前三个需要更改为:

01012014
01102014
10012014

我可以做多个嵌套的if语句,所以我可以写

if date length == 6 do something
else if date length == 7 do something else
else whatever

1 个答案:

答案 0 :(得分:2)

如果它只是一个6或7个问题,我将使用2个正则表达式替换 这假设如果7,月份缺少0.

伪代码:

如果找到:^(\d)(\d{2}\d{4})$替换0\1\2
否则
如果找到:^(\d)(\d\d{4})$替换0\1 + 0\2