首页 > 解决方案 > Java - 从字符串返回日期(不将字符串转换为日期)

问题描述

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

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

表格名称多种多样。我感兴趣的格式如下: 代码日期(即“代码 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());
            }
        });

标签: java

解决方案


您需要使用正则表达式从输入字符串中获取日期,对于您添加的日期(“代码 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));
}

 

推荐阅读