java – 从String中提取各种格式的日期?

参见英文答案 >
Parse any date in Java                                    3个

我想知道是否有一种简单的方法可以从Java中的String中提取第一个遇到的日期.

我的程序将用不同的语言分析很多String文本.这些字符串可以包含日期.由于语言(和不同的来源),我有很多格式需要考虑.

I first thought about Regex,为我能找到的每种格式制作一个正则表达式…但是有很多,例如“月(d)d,yyyy”或“mm / dd / yyyy”或“dd-mon-yyyy”. .

所以我想知道是否有一种更简单的方法可以通过使用DateFormat从String中提取日期,所以我可以将找到的日期转换为“dd / mm / yyyy”.

谢谢您的帮助. ^^

最佳答案 我认为最好的解决方案是使用正则表达式,但显然你必须知道所有可能的模式.

一种(可能的)方法是通过机器学习:您可以提供一组有代表性的示例,让算法为您找到模式.

您的问题与this article中提到的问题非常类似.
您可以尝试使用this webapp为您找到一个好的正则表达式.

主要问题是你必须提供重要的例子.
我希望这能帮到您!

点赞