字符串截取日期:“全额汇缴 2017年10月至2017年12月”,注意字符串里面空格的影响

                String payDesc = "全额汇缴 2017年10月至2017年12月";
               
                 //方法一:
                if (payDesc.contains(" ")) {
                    payDesc = payDesc.replaceAll(" ", "");
                }
                int indexOf = payDesc.indexOf("至");
                String startTimeStr = payDesc.substring(indexOf - 8, indexOf);
                String endTimeStr = payDesc.substring(indexOf + 1, indexOf + 9);


                //方法二:
                Matcher matcher = Pattern.compile("\\d{4}年\\d{2}月").matcher(payDesc);
                List<String> strings = new ArrayList<>();

                while(matcher.find()){
                    strings.add(matcher.group(0));
                }
                String startTimeStr = strings.get(0);
                String endTimeStr = strings.get(1);

注:在生产环境中,由于没有考虑到“至”前后有空格符的情况,导致报错,现在这样处理可以避免空格的影响。

猜你喜欢

转载自blog.csdn.net/BD_fuhong/article/details/93646380