处理不同的字符串日期格式

Say*_*yan 1 java

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

String value = "31-01-1989";
Run Code Online (Sandbox Code Playgroud)

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

String value = "31011989";
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

Evg*_*eev 6

在这种情况下,您只需删除破折号即可

value = value.replace("-", "");
Run Code Online (Sandbox Code Playgroud)

要么

value = value.replaceAll("-", "");
Run Code Online (Sandbox Code Playgroud)

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

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

  • 你需要使用`replaceAll`.编辑:我错了.我错误地认为`replace`和`replaceAll`的存在意味着什么.`replace`用于替换`chars`,`replaceAll`用于替换子串. (2认同)
  • 不,你不要尝试 (2认同)