java 有段话开头的中文日期截取,使之数字变成int型。

2025-03-12 18:16:22
推荐回答(1个)
回答1:

class Tester{
    public static void main (String[] args) {
        String str = "2013年6月12日,XXXXXXXXXXXXX";
        String reg = "([^,,]+)[,,].*$";
        String r = str.replaceAll(reg, "$1");
        reg = "^((\\d+)年)?((\\d+)月)?((\\d+)日)?$";
        String sy = r.replaceAll(reg,"$2");
        String sm = r.replaceAll(reg,"$4");
        String sd = r.replaceAll(reg,"$6");
        int y, m, d;
        try {
            y = Integer.parseInt(sy);            
        } catch(Exception e) {
            y = 0;
        }
        try {
            m = Integer.parseInt(sm);            
        } catch(Exception e) {
            m = 0;
        }
        try {
            d = Integer.parseInt(sd);            
        } catch(Exception e) {
            d = 0;
        }
        System.out.format("%d, %d, %d", y, m, d);
    }
}