gpt4 book ai didi

java - 从java中的字符串中解析出简单的日期

转载 作者:行者123 更新时间:2023-12-02 07:30:56 25 4
gpt4 key购买 nike

在我的程序中,用户应该能够指定命名方案。他们指定的命名方案应包含简单的日期格式,如“yyyyMMdd”、“MM-dd-yyyy”、“yyyy/MM/dd”等。我希望日、月和年的顺序无关紧要但可能需要一定的顺序(例如先是年,然后是月,然后是日)。我希望能够轻松地从字符串中检索此日期,以便将其与 SimpleDateFormat 类一起使用。

以下是一些示例:

input string:    "abc?>@dyyyy-MM-dd-|(s*&d)"
output string: "yyyy-MM-dd"

input string: "daddy-MM/dd/yyyy-moMMy"
output string: "MM/dd/yyyy"

最终我想要做的是用当前日期替换(在用户提供的字符串中)指定的日期格式。

如果我想修复它,以便用户只能输入年,然后是月,然后是日,那么我可以这样做:

String dateFormat = name.substring(name.indexOf("yyyy"), name.indexOf("dd") + 2)

但这意味着用户不能在字符串的其余部分中使用字符串序列“yyyy”和“dd”,否则此方法将不起作用。该表达式也可以用正则表达式表示,但我不知道如何轻松地从字符串中提取与正则表达式匹配的子字符串。

最佳答案

使用正则表达式模式

(MM|dd|yyyy)[\\/-]?(?!\\1)(MM|dd|yyyy)[\\/-]?(?!\\1)(?!\\2)(MM|dd|yyyy)

您可能想要添加一些您希望允许的其他分隔符到上述模式的 [...] 部分中。

关于java - 从java中的字符串中解析出简单的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12919224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com