Java时间戳正则表达式

Java时间戳正则表达式,java,regex,timestamp,removeall,Java,Regex,Timestamp,Removeall,给定以下由生成的时间戳: 我需要一个“长类型”时间戳(没有标点符号),那么什么正则表达式可以帮助删除这些字符呢 '-', ':', ' ', '.' 这样我就可以得到如下结果: 2014102011175519 使用string.replaceAll函数从输入字符串中删除-,:,,字符 String s = "2014-10-20 11:17:55.19"; System.out.println(s.replaceAll("[-: .]", "")); 输出: 20141020111755

给定以下由生成的时间戳:

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

'-', ':', ' ', '.'
这样我就可以得到如下结果:

2014102011175519

使用
string.replaceAll
函数从输入字符串中删除
-
字符

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

2014102011175519

使用
string.replaceAll
函数从输入字符串中删除
-
字符

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

2014102011175519
/([^\d])/g

replace函数中的正则表达式为

replaceAll("[^\d]","")
或者更短期

replaceAll("\D","")
/([^\d])/g

replace函数中的正则表达式为

replaceAll("[^\d]","")
或者更短期

replaceAll("\D","")

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

str = str.replaceAll("\\D", "");
或者使用日期格式,因为java.sql.Timestamp是日期:

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

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

str = str.replaceAll("\\D", "");
或者使用日期格式,因为java.sql.Timestamp是日期:

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

[^\d]
将与简单的
\d
相同。带有大写字母的速记字符类是其小写对应字符的否定版本。(同样地,
[^\w]
=
\w
[^\d]
与简单的
\d
相同。带有大写字母的速记字符类是其小写对应字符的否定版本。(同样地,
[^\w]
=
\w
)请注意,a解析为。因此,它的字符串表示形式中的小数秒可能有。因此,结果字符串的长度将因不同的值而异。这可能是某些应用程序的问题。请注意,a解析为。因此,它的字符串表示形式中的小数秒可能有。因此,结果字符串的长度将因不同的值而异。对于某些应用程序来说,这可能是一个问题。此外,在Java 8中,Java.sql.Timestamp类有了新的方法,例如转换为新Java.time包中的对象。a保留
时间戳中包含的纳秒数。此外,在Java 8中,Java.sql.Timestamp类具有新方法,例如用于转换为新Java.time包中的对象。保留
时间戳中包含的纳秒。