Java时间戳正则表达式

时间:2014-10-20 15:21:53

标签: java regex timestamp removeall

给出java.sql.Timestamp生成的以下时间戳:

2014-10-20 11:17:55.19

我需要一个“长型”时间戳(没有标点符号),所以正则表达式可以帮助删除这些字符:

'-', ':', ' ', '.'

这样我就可以得到一个看起来像的结果:

2014102011175519

3 个答案:

答案 0 :(得分:3)

将所有\D(非数字)替换为空白:

str = str.replaceAll("\\D", "");

或者使用日期格式,因为java.sql.Timestamp是Date:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSS");
String str = sdf.format(timestamp);

答案 1 :(得分:1)

使用string.replaceAll功能从输入字符串中删除-:.个字符。

String s = "2014-10-20 11:17:55.19";
System.out.println(s.replaceAll("[-: .]", ""));

<强>输出:

2014102011175519

答案 2 :(得分:0)

/([^\d])/g

替换函数中的正则表达式

replaceAll("[^\d]","")

或更短时间

replaceAll("\D","")