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