1

在 java 中,我有一个日期为 dd-mm-yyyy 格式的字符串:

String value = "31-01-1989";

现在,我希望另一个变量中的值是 ddmmyyyy 格式:

String value = "31011989";

这个怎么做?

4

4 回答 4

6

在这种情况下,您可以简单地删除破折号

value = value.replace("-", "");

或者

value = value.replaceAll("-", "");

但根据我的测试,第一个版本要快一点。所以我个人更喜欢仅在第一个参数是正则表达式时使用 replaceAll。

请注意,尽管名称有混淆,但会String.replace替换与第一个 arg 匹配的所有子字符串,就像这样String.replaceAll做一样。主要区别在于String.replace将第一个 arg 视为字符串文字并将String.replaceAll其用作正则表达式。

于 2013-01-22T15:29:51.430 回答
4

简单的解决方案:

String value1 = "31-01-1989";
String value2 = value1.replace("-", "");
于 2013-01-22T15:30:40.147 回答
2

查看SimpleDateFormat以获得一般解决方案。写一个SimpleDateFormat解析第一个日期并在另一个中使用格式来获​​得预期的输出。

于 2013-01-22T15:29:20.893 回答
2

您可以使用String.replace(Charseq, Charseq)删除分隔符。

String value = "31-01-1989";
String value2 = value.replace("-", "");
System.out.println(value2);
于 2013-01-22T15:29:47.167 回答