Java - 从字符串返回日期(不将字符串转换为日期)

时间:2021-01-16 16:02:39

标签: java

这不是将字符串转换为日期的请求,我已经知道如何做到这一点。我试过谷歌搜索,但只找到如何将日期转换为字符串。

最终目标是显示标题中包含未来日期的工作表。

表格名称多种多样。我感兴趣的将采用以下格式:Codes Date(即“Codes 11.01.21”)尽管在结尾处可能会有其他文本。

我进行了过滤,只显示带有“代码”一词的工作表。

我正在努力解决的部分是如何从字符串中获取日期。我假设我需要使用某种形式的正则表达式来获取日期部分

List<com.google.api.services.sheets.v4.model.Sheet> sheets = sp.getSheets();
        sheets.forEach(sheet -> {
            if(sheet.getProperties().getTitle().contains("Codes")) {
                System.out.println("Title: " + sheet.getProperties().getTitle());
            }
        });

1 个答案:

答案 0 :(得分:0)

您需要使用正则表达式从输入字符串中获取日期,对于您添加的日期(“代码 11.01.21”),请使用此正则表达式 \b(\d{2}.\d{2}.\ d{2}):

String data = "Codes 11.01.21";
Pattern pattern = Pattern.compile("\\b(\\d{2}\\.\\d{2}\\.\\d{2})");
Matcher matcher = pattern.matcher(data);
if (matcher.find()) {
    System.out.println(matcher.group(1));
}