java - 从字符串中提取各种格式的日期?

标签 java regex string date date-format

<分区>

我想知道是否有一种简单的方法可以从 Java 中的字符串中提取第一次遇到的日期。

我的程序将分析大量不同语言的 String 文本。这些字符串可以包含一个日期。由于语言(和不同的来源)的原因,我需要考虑大量的格式。

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

所以我想知道是否有更简单的方法从字符串中提取日期,也许是使用 DateFormat,这样我就可以将找到的日期转换为“dd/mm/yyyy”。

感谢您的帮助。 ^^

最佳答案

我认为最好的解决方案是使用正则表达式,但显然您必须了解所有可能的模式。

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

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

主要问题是您必须提供重要的示例。 希望对您有所帮助!

关于java - 从字符串中提取各种格式的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603125/

相关文章:

java - 如何在 JDK 17 应用程序中查找通过 JNI 使用的 native 库?

java - 执行额外查询的 hibernate 条件

jQuery 验证英国邮政编码

java - 我可以使用 Java 中的 if/else 语句向字符串添加单词吗?

在表单中输入数字的javascript问题

java - 如何添加新 child 而不覆盖其他 child

java - 使用 JAXB 为 XMLRootElement 或 XMLElement 注释动态添加值

Javascript 全名正则表达式问题

javascript - 提取字符串的中间或最后部分

c# 将二进制数据读取到字符串中